> 백엔드 개발 > 파이썬 튜토리얼 > pandas DataFrame에서 AttributeError: 'DataFrame' 객체에 'append' 속성이 없습니다.

pandas DataFrame에서 AttributeError: 'DataFrame' 객체에 'append' 속성이 없습니다.

Barbara Streisand
풀어 주다: 2024-12-07 12:11:12
원래의
896명이 탐색했습니다.

Why Does pandas DataFrame Throw an AttributeError: 'DataFrame' object has no attribute 'append'?

오류: 'DataFrame' 객체에 'append' 속성이 없습니다.

DataFrame 객체에 사전을 추가하려고 하면 다음 오류가 발생합니다. 발생할 수 있습니다:

AttributeError: 'DataFrame' 개체에 속성이 없습니다. 'append'

DataFrame에 "append" 메서드가 분명히 존재함에도 불구하고 이 문제는 최근 제거된 방법을 이해하면 해결할 수 있습니다.

제거 이유

Pandas 2.0에서는 "append" 메소드가 더 이상 사용되지 않으며 문제로 인해 결국 제거되었습니다. 자연. 사용자는 종종 루프에 "추가"를 사용하여 Python 목록 동작을 모방하려고 시도하여 비효율성을 초래했습니다. pandas의 "append"는 원본 DataFrame을 수정하지 않고 새 DataFrame을 생성하므로 반복 삽입 시 O(n) 복잡성이 발생합니다.

대체 솔루션

DataFrame에 사전을 추가하는 경우 두 가지 대체 방법이 권장됩니다:

1. Pandas 연결(concat)

df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
로그인 후 복사

이 방법은 원본 DataFrame과 새 행을 DataFrame으로 결합합니다.

2. Pandas Loc(RangeIndex에만 해당)

df.loc[len(df)] = new_row # only use with a RangeIndex!
로그인 후 복사

이 메서드는 DataFrame에서 사용 가능한 다음 인덱스에 새 행을 설정하여 추가합니다. DataFrame에 RangeIndex가 있는 경우에만 작동합니다.

여러 행을 효과적으로 추가

여러 행을 추가해야 하는 경우 다음 접근 방식을 고려하세요.

  1. 목록에서 새 행을 수집합니다.
  2. 다음에서 DataFrame을 만듭니다. 목록.
  3. 새 DataFrame을 원본 DataFrame에 연결합니다.

이렇게 하면 반복적인 "추가" 또는 "연결" 작업의 오버헤드를 피하면서 효율적인 추가가 보장됩니다.

위 내용은 pandas DataFrame에서 AttributeError: 'DataFrame' 객체에 'append' 속성이 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿