Pandas append 사용법

Pandas의 append 메서드는 데이터프레임에 다른 데이터프레임을 행 또는 열 단위로 추가하는 데 사용된다. 이 메서드를 사용하면 데이터를 확장하거나 새로운 데이터를 추가할 수 있다. 이 글에서는 Pandas의 append 메서드 사용법에 대해 알아본다.

데이터프레임에 행 추가

append 메서드를 사용하여 데이터프레임에 행을 추가하려면 다음 구문을 사용한다:

result = df1.append(df2)

여기서 df1은 원래의 데이터프레임이고, df2는 추가할 데이터프레임으로, df2df1에 행 단위로 추가된다.

데이터프레임에 열 추가

Pandas의 append 메서드는 주로 행 추가에 사용된다. 열 추가는 pd.concat 등 다른 메서드를 사용하는 것이 일반적이다.

Example(예제)

다음은 두 개의 데이터프레임 df1df2를 생성하고, 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])

참조

답글 남기기