Pandas의 DataFrame에 Dict 추가

Pandas Ui Dataframee Dict Chuga



예제와 함께 pandas.DataFrame.append() 및 pandas.concat() 함수를 사용하여 기존 Pandas DataFrame에 사전을 추가하는 방법을 논의합니다. 여기서 사전은 키가 DataFrame에 있는 기존 열 레이블을 참조하고 값이 행에 추가되도록 키:값 쌍을 참조합니다. 또한 Pandas DataFrame에 여러 사전을 추가하는 예제도 살펴보겠습니다.

Pandas.DataFrame.Append 사용

pandas.DataFrame.append() 함수는 다른 DataFrame의 행을 기존 DataFrame에 추가하는 데 사용됩니다. 기존 DataFrame의 열이 없으면 기존 DataFrame에 다른 DataFrame 열이 생성됩니다. 사전을 추가하여 행을 DataFrame에 삽입해야 하는 방식으로 이 함수를 사용하십시오.

통사론 :







다음은 pandas.DataFrame.append() 함수의 실제 구문입니다.



팬더. 데이터프레임 . 추가 ( 다른 , 무시_색인 , verify_무결성 , 종류 )
  1. 다른 : 기존 DataFrame에 이 DataFrame의 행을 추가한 또 다른 DataFrame을 의미합니다. 단일 행을 추가하려면 값 사전을 매개변수로 전달해야 합니다.
  2. 무시_색인 (기본값 = False): 이 매개변수는 이미 행이 있는 DataFrame에 행을 추가할 때 활용됩니다. 'False'인 경우 기존 행 인덱스도 추가됩니다. 'True'이면 행에 0부터 n-1까지 레이블이 지정됩니다. DataFrame에 사전을 추가하는 동안 이 매개변수가 'True'로 설정되어 있는지 확인하세요. 그렇지 않으면 오류 유형이 발생합니다 – “TypeError: 무시할_인덱스=True인 경우에만 dict를 추가할 수 있습니다”.
  3. verify_integrity 매개변수(기본값 = False)를 사용하여 중복 인덱스를 확인할 수 있습니다. 인덱스가 중복되고 verify_integrity가 'True'로 설정된 경우 'ValueError: 인덱스에 중복 값이 ​​있습니다.'가 반환됩니다.
  4. 기존 DataFrame과 다른 DataFrame의 열이 정렬되지 않은 경우 sort 매개변수를 'True'(기본값 = False)로 설정하여 열을 정렬할 수 있습니다.

예 1: 단일 사전 추가

'Campaign_Name', 'Location', 'StartDate', 'Budget' 등 4개의 열과 3개의 행이 있는 Pandas DataFrame을 만듭니다. 이 DataFrame에 사전을 추가합니다.



수입 팬더

# DataFrame 생성 - 4개의 열과 3개의 행이 있는 캠페인
운동 = 팬더. 데이터프레임 ( [ [ '마케팅 캠프' , '인도' , '2023년 1월 12일' , 8000 ] ,
[ '세일즈 캠프' , '이탈리아' , '2022년 1월 25일' , 10000 ] ,
[ '다른 캠프' , '미국' , '2023년 4월 17일' , 2000 ] ] ,
기둥 = [ '캠페인_이름' , '위치' , '시작일' , '예산' ] )
인쇄 ( 운동 , ' \N ' )

# 단일 행 추가
운동 = 운동. 추가 ( { '캠페인_이름' : '기술캠프' , '위치' : '미국' , '시작일' : '2023년 5월 12일' , '예산' : 2000 } , 무시_색인 = 진실 )
인쇄 ( 운동 , ' \N ' )

산출 :





사전이 'Campaign' DataFrame에 추가된 것을 볼 수 있습니다. 이 새 행의 인덱스는 인덱스가 무시되므로 3입니다.



예 2: 여러 사전 추가

예제 1에서 생성된 것과 동일한 DataFrame을 사용하고 pandas.DataFrame.append() 함수를 사용하여 한 번에 세 개의 행을 추가합니다. ignore_index 매개변수를 'True'로 설정합니다.

수입 팬더

# DataFrame 생성 - 4개의 열과 3개의 행이 있는 캠페인
운동 = 팬더. 데이터프레임 ( [ [ '마케팅 캠프' , '인도' , '2023년 1월 12일' , 8000 ] ,
[ '세일즈 캠프' , '이탈리아' , '2022년 1월 25일' , 10000 ] ,
[ '다른 캠프' , '미국' , '2023년 4월 17일' , 2000 ] ] ,
기둥 = [ '캠페인_이름' , '위치' , '시작일' , '예산' ] )
인쇄 ( 운동 , ' \N ' )

운동 = 운동. 추가 ( { '캠페인_이름' : '기술캠프' , '위치' : '미국' , '시작일' : '2023년 5월 12일' , '예산' : 2000 } , 무시_색인 = 진실 )
운동 = 운동. 추가 ( { '캠페인_이름' : '마케팅캠프' , '위치' : '인도' , '시작일' : '2023년 6월 23일' , '예산' : 9000 } , 무시_색인 = 진실 )
운동 = 운동. 추가 ( { '캠페인_이름' : 'MSales 캠프' , '위치' : '이탈리아' , '시작일' : '2023년 1월 24일' , '예산' : 1200 } , 무시_색인 = 진실 )
인쇄 ( 운동 )

산출 :

3개의 행이 기존 DataFrame에 3, 4, 5개의 인덱스와 함께 차례로 추가됩니다.

Pandas.Concat 사용

pandas.concat() 함수는 행이나 열을 따라 두 개 이상의 DataFrame을 연결합니다. 따라서 사전을 DataFrame으로 변환하고 두 개의 DataFrame을 이 함수에 전달해야 합니다.

통사론 :

기존 DataFrame에 사전을 추가합니다.

팬더. 연결 ( [ 기존_DataFrame , Transformed_Dictionary ] , 중심선 = 0 , 무시_색인 , verify_무결성 )
  1. 축 = 0이면 행을 따라 연결이 수행됩니다. 연결은 설정된 경우 열을 따라 수행됩니다. 부제목이므로 필요한 대문자를 적용합니다. 간결함을 위해 필요한 기사를 추가했습니다.1.
  2. ignore_index(기본값 = False): 이 매개변수는 이미 행이 있는 DataFrame에 행을 추가할 때 활용됩니다. 'False'인 경우 기존 행 인덱스도 추가됩니다. 'True'이면 행에 0부터 n-1까지 레이블이 지정됩니다.
  3. verify_integrity 매개변수(기본값 = False)를 사용하여 중복 인덱스를 확인할 수 있습니다. 인덱스가 중복되고 verify_integrity가 'True'로 설정된 경우 'ValueError: 인덱스에 중복 값이 ​​있습니다.'가 반환됩니다.

예 1: 단일 사전 추가

'Campaign_Name', 'Location', 'StartDate', 'Budget' 등 4개의 열과 3개의 행이 있는 Pandas DataFrame을 만듭니다. pandas.concat() 함수를 사용하여 하나의 사전(DataFrame)을 이 DataFrame에 행으로 추가합니다.

수입 팬더


# DataFrame 생성 - 4개의 열과 3개의 행이 있는 캠페인
운동 = 팬더. 데이터프레임 ( [ [ '마케팅 캠프' , '인도' , '2023년 1월 12일' , 8000 ] ,
[ '세일즈 캠프' , '이탈리아' , '2022년 1월 25일' , 10000 ] ,
[ '다른 캠프' , '미국' , '2023년 4월 17일' , 2000 ] ] ,
기둥 = [ '캠페인_이름' , '위치' , '시작일' , '예산' ] )
인쇄 ( 운동 , ' \N ' )

Dictionary_from_DataFrame = 팬더. 데이터프레임 ( [ { '캠페인_이름' : '봉사캠프' , '위치' : '미국' , '시작일' : '2023년 4월 17일' , '예산' : 1000 } ] )

# 단일 행 추가
운동 = 팬더. 연결 ( [ 운동 , Dictionary_from_DataFrame ] , 중심선 = 0 )
인쇄 ( 운동 , ' \N ' )

산출 :

사전이 'Campaign' DataFrame에 추가된 것을 볼 수 있습니다. 이 새 행의 인덱스는 무시되지 않으므로 0입니다.

예 2: 여러 사전 추가

이전 DataFrame을 사용하고 인덱스를 무시하고 3개의 사전(DataFrame)을 추가합니다.

수입 팬더


# DataFrame 생성 - 4개의 열과 3개의 행이 있는 캠페인
운동 = 팬더. 데이터프레임 ( [ [ '마케팅 캠프' , '인도' , '2023년 1월 12일' , 8000 ] ,
[ '세일즈 캠프' , '이탈리아' , '2022년 1월 25일' , 10000 ] ,
[ '다른 캠프' , '미국' , '2023년 4월 17일' , 2000 ] ] ,
기둥 = [ '캠페인_이름' , '위치' , '시작일' , '예산' ] )
인쇄 ( 운동 , ' \N ' )

Dictionary_from_DataFrame = 팬더. 데이터프레임 ( [ { '캠페인_이름' : '테크캠프' , '위치' : '미국' , '시작일' : '2023년 5월 17일' , '예산' : 1000 } ,
{ '캠페인_이름' : '사회복지' , '위치' : '일본' , '시작일' : '2023년 4월 17일' , '예산' : 200 } ,
{ '캠페인_이름' : '세일즈 캠프' , '위치' : '미국' , '시작일' : '2023년 4월 18일' , '예산' : 500 } ] )

# 여러 행 추가
운동 = 팬더. 연결 ( [ 운동 , Dictionary_from_DataFrame ] , 중심선 = 0 , 무시_색인 = 진실 )
인쇄 ( 운동 , ' \N ' )

산출 :

'Campaign' DataFrame에 세 개의 사전이 추가된 것을 볼 수 있습니다. ignore_index 매개변수가 'False'로 설정되었으므로 이러한 사전의 인덱스는 3, 4, 5입니다.

결론

단일/다중 사전은 pandas.DataFrame.append() 및 pandas.concat() 함수를 사용하여 DataFrame에 추가됩니다. pandas.concat() 함수에서ignore_index 매개변수를 'True'로 설정하여 새 행의 인덱스를 고유하게 만들 수 있습니다. pandas.DataFrame.append() 함수를 사용하는 동안ignore_index 매개변수를 'True'로 설정합니다. 그렇지 않으면 TypeError가 발생합니다.