속성 오류: '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 중국어 웹사이트의 기타 관련 기사를 참조하세요!