기존 Pandas DataFrame에 딕셔너리 리스트를 추가하려면 append() 메서드를 사용할 수 있습니다. 먼저 예제에 사용할 DataFrame을 생성해 보겠습니다.
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Audi', 'XUV', 'Lexus', 'Volkswagen'],
"Place": ['Delhi', 'Bangalore', 'Pune', 'Chandigarh', 'Mumbai'],
"Units": [100, 150, 50, 110, 90]
}
)다음으로, DataFrame에 추가할 딕셔너리 리스트를 만듭니다. 각 딕셔너리는 DataFrame의 열 이름과 동일한 키를 가지고 있어야 합니다.
d = [
{'Car': 'Mustang', 'Place': 'Hyderabad', 'Units': 60},
{'Car': 'Tesla', 'Place': 'Kerala', 'Units': 30},
{'Car': 'RollsRoyce', 'Place': 'Punjab', 'Units': 70},
{'Car': 'Bentley', 'Place': 'Gujarat', 'Units': 80}
]이제 append() 메서드를 사용하여 이미 생성된 DataFrame에 딕셔너리 리스트를 추가합니다. 이때 ignore_index=True 옵션을 지정하면 기존 인덱스를 무시하고 새로운 연속 인덱스가 자동으로 부여됩니다.
dataFrame = dataFrame.append(d, ignore_index=True, sort=False)
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Audi', 'XUV', 'Lexus', 'Volkswagen'],
"Place": ['Delhi', 'Bangalore', 'Pune', 'Chandigarh', 'Mumbai'],
"Units": [100, 150, 50, 110, 90]
}
)
print("DataFrame ...\n", dataFrame)
# 딕셔너리 리스트 생성
d = [
{'Car': 'Mustang', 'Place': 'Hyderabad', 'Units': 60},
{'Car': 'Tesla', 'Place': 'Kerala', 'Units': 30},
{'Car': 'RollsRoyce', 'Place': 'Punjab', 'Units': 70},
{'Car': 'Bentley', 'Place': 'Gujarat', 'Units': 80}
]
print("\nDictionary....\n", d)
# 이미 생성된 DataFrame에 딕셔너리 리스트 추가
dataFrame = dataFrame.append(d, ignore_index=True, sort=False)
# 추가된 결과 출력
print("\nResult of append...\n", dataFrame)출력 결과
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
DataFrame ...
Car Place Units
0 BMW Delhi 100
1 Audi Bangalore 150
2 XUV Pune 50
3 Lexus Chandigarh 110
4 Volkswagen Mumbai 90
Dictionary....
[{'Units': 60, 'Car': 'Mustang', 'Place': 'Hyderabad'}, {'Units': 30, 'Car': 'Tesla', 'Place': 'Kerala'}, {'Units': 70, 'Car': 'RollsRoyce', 'Place': 'Punjab'}, {'Units': 80, 'Car': 'Bentley', 'Place': 'Gujarat'}]
Result of append...
Car Place Units
0 BMW Delhi 100
1 Audi Bangalore 150
2 XUV Pune 50
3 Lexus Chandigarh 110
4 Volkswagen Mumbai 90
5 Mustang Hyderabad 60
6 Tesla Kerala 30
7 RollsRoyce Punjab 70
8 Bentley Gujarat 80참고: 최신 Pandas 버전에서는 pd.concat() 사용 권장
append() 메서드는 Pandas 1.4.0부터 공식적으로 지원 중단(deprecated)되었으며, Pandas 2.0부터는 완전히 제거되었습니다. 따라서 최신 버전의 Pandas를 사용하고 있다면 pd.concat() 함수를 사용하는 것이 좋습니다. 위 예제와 동일한 작업을 pd.concat()으로 수행하는 방법은 다음과 같습니다.
dataFrame = pd.concat([dataFrame, pd.DataFrame(d)], ignore_index=True)
pd.concat()은 여러 DataFrame을 효율적으로 병합할 수 있어, 반복문 안에서 데이터를 계속 추가하는 경우에도 더 나은 성능을 제공합니다.