Pandas의 append
메서드는 데이터프레임에 다른 데이터프레임을 행 또는 열 단위로 추가하는 데 사용된다. 이 메서드를 사용하면 데이터를 확장하거나 새로운 데이터를 추가할 수 있다. 이 글에서는 Pandas의 append
메서드 사용법에 대해 알아본다.
데이터프레임에 행 추가
append
메서드를 사용하여 데이터프레임에 행을 추가하려면 다음 구문을 사용한다:
result = df1.append(df2)
여기서 df1
은 원래의 데이터프레임이고, df2
는 추가할 데이터프레임으로, df2
는 df1
에 행 단위로 추가된다.
데이터프레임에 열 추가
Pandas의 append
메서드는 주로 행 추가에 사용된다. 열 추가는 pd.concat
등 다른 메서드를 사용하는 것이 일반적이다.
Example(예제)
다음은 두 개의 데이터프레임 df1
와 df2
를 생성하고, append
메서드를 사용하여 행을 추가하는 예제이다.
import pandas as pd
data1 = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]
}
data2 = {
'Name': ['David', 'Eva'],
'Age': [40, 45]
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# df1에 df2를 행 단위로 추가
result = df1.append(df2)
print(result)
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
0 David 40
1 Eva 45
AttributeError: ‘DataFrame’ object has no attribute ‘append’ 문제
pandas 2.0.0 버전 이후부터 append()
메서드가 완전히 제거되었기 때문에 더이상 작동하지 않는다. 따라서 만약 위 예제를 pandas 2.0.0 이후 버전에서 테스트 하면 다음과 같이 에러가 발생한다.
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[10], line 18
14 df2 = pd.DataFrame(data2)
17 # df1에 df2를 행 단위로 추가
---> 18 result = df1.append(df2)
19 print(result)
File C:\Python\Python312\Lib\site-packages\pandas\core\generic.py:6204, in NDFrame.__getattr__(self, name)
6197 if (
6198 name not in self._internal_names_set
6199 and name not in self._metadata
6200 and name not in self._accessors
6201 and self._info_axis._can_hold_identifiers_and_holds_name(name)
6202 ):
6203 return self[name]
-> 6204 return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'append'
pandas 버전을 알아보려면 아래 코드를 수행하여 확인할 수 있다.
import pandas as pd
print(pd.__version__)
2.1.1
이 경우에는 append()
대신 concat()
을 사용한다.
pd.concat([df1, df2])