>백엔드 개발 >파이썬 튜토리얼 >Pandas에서 'AttributeError: 'DataFrame' 개체에 'append' 속성이 없습니다.'를 수정하는 방법은 무엇입니까?

Pandas에서 'AttributeError: 'DataFrame' 개체에 'append' 속성이 없습니다.'를 수정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-25 16:30:13135검색

How to Fix the

속성 오류: 'DataFrame' 객체에 'Append' 메서드가 없습니다

사전을 DataFrame에 통합하려고 하면 " AttributeError: 'DataFrame' 개체에 'append' 속성이 없습니다." 오류가 발생했습니다. DataFrame에는 "append" 메서드가 있지만 pandas 2.0에서는 제거되었습니다.

해결 방법:

이 문제를 해결하려면 "concat" 메서드를 교체:

df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)

또는 DataFrame 인덱스가 RangeIndex인 경우 "loc" 방법을 사용할 수 있습니다:

df.loc[len(df)] = new_row # Only applicable with RangeIndex

제거 이유:

"append" 방법을 제거한 이유는 반복 삽입 시나리오의 비효율성 때문이었습니다. . 내부에서 작동하는 Python의 "list.append" 함수와 달리 pandas의 "append" 메서드는 새로운 DataFrame을 구성합니다. 이러한 차이로 인해 pandas의 "추가"에 O(n)의 시간 복잡도가 발생하여 비효율적이게 됩니다.

대체 접근 방식:

반복적으로 추가해야 하는 경우 항목이 있는 경우 "추가" 또는 "연결"을 여러 번 사용하지 마세요. 대신, 목록에 새 행을 축적하고 루프가 완료되면 이를 DataFrame으로 변환하세요. 그런 다음 확장된 DataFrame을 원본에 연결합니다. 이 접근 방식은 최적의 성능을 보장합니다.

예:

lst = []

for new_row in items_generation_logic:
    lst.append(new_row)

# Create extension
df_extended = pd.DataFrame(lst, columns=['A', 'B', 'C'])

# Concatenate to original
out = pd.concat([df, df_extended])

위 내용은 Pandas에서 'AttributeError: 'DataFrame' 개체에 'append' 속성이 없습니다.'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.