본문 바로가기
Python/Pandas

pandas AttributeError: 'DataFrame' object has no attribute 'append' 오류 해결하기

by PySun 2025. 5. 3.
반응형

소개

파이썬의 pandas 라이브러리를 사용하다 보면 가끔 'AttributeError: 'DataFrame' object has no attribute 'append''라는 에러에 직면하게 됩니다. 이는 주로 DataFrame에 append 메서드를 호출할 때 발생하는 문제로, pandas의 최근 업데이트로 인해 append 메서드가 deprecated 되었기 때문입니다. 이번 블로그 글에서는 이 에러의 원인과 그 해결 방법을 알아보도록 하겠습니다.

에러 발생 예시 코드

먼저, 'AttributeError: 'DataFrame' object has no attribute 'append'' 에러가 발생할 만한 간단한 예시 코드를 살펴보겠습니다.

import pandas as pd

# 간단한 DataFrame 생성
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

# append 메서드를 사용하여 DataFrame 추가
df2 = df1.append({'A': 5, 'B': 6}, ignore_index=True)
print(df2)

에러 해결 방법

1. concat() 메서드로 대체하기

append 대신 pandas의 concat() 메서드를 사용하여 DataFrame을 결합할 수 있습니다. 이 방법이 더 효율적이며 유연성 또한 뛰어납니다.

import pandas as pd

# 간단한 DataFrame 생성
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

# concat() 메서드를 사용하여 DataFrame 추가
df2 = pd.DataFrame({'A': [5], 'B': [6]})
result = pd.concat([df1, df2], ignore_index=True)
print(result)

2. DataFrame을 리스트에 저장하고 마지막에 결합하기

여러 개의 DataFrame을 결합해야 하는 경우는 리스트에 DataFrame을 저장한 후, 마지막에 concat() 메서드를 사용하여 결합할 수 있습니다.

import pandas as pd

# 리스트에 DataFrame을 저장
data_frames = []

# 첫 번째 DataFrame 추가
data_frames.append(pd.DataFrame({'A': [1, 2], 'B': [3, 4]}))

# 두 번째 DataFrame 추가
data_frames.append(pd.DataFrame({'A': [5], 'B': [6]}))

# concat() 메서드로 최종 DataFrame 생성
final_result = pd.concat(data_frames, ignore_index=True)
print(final_result)

마무리

이 블로그 글에서는 pandas에서 발생하는 'AttributeError: 'DataFrame' object has no attribute 'append'' 에러에 대한 간단한 해결 방법을 살펴보았습니다. append 메서드를 사용하기보다는 concat() 메서드를 활용하여 DataFrame을 결합하시면 더 안정적이고 효율적인 결과를 얻을 수 있습니다. pandas의 기능에 대해 더 깊이 알아보고 유연하게 활용할 수 있도록 노력해 보세요!

반응형