>백엔드 개발 >파이썬 튜토리얼 >DataFrame에 행을 추가하기 위해 Pandas의 더 이상 사용되지 않는 'append' 메서드를 대체하는 방법은 무엇입니까?

DataFrame에 행을 추가하기 위해 Pandas의 더 이상 사용되지 않는 'append' 메서드를 대체하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-03 19:21:11712검색

How to Replace Pandas' Deprecated `append` Method for Adding Rows to a DataFrame?

오류 "DataFrame' 객체에 'append' 속성이 없습니다." 대신 'concat' 사용

Pandas에서 'append' 메소드 버전 2.0부터 제거되고 'concat'으로 대체되었습니다. 이는 더 이상 DataFrame.append()를 사용하여 사전을 DataFrame에 새 행으로 추가할 수 없음을 의미합니다. 이 오류를 해결하고 원하는 기능을 얻으려면 대신 'concat'을 사용해야 합니다.

'concat' 사용

사전을 새 행으로 추가하려면 'concat'을 사용하는 DataFrame은 다음 단계를 따르세요.

  1. 다음을 사용하여 사전을 DataFrame으로 변환합니다. 한 행:

    new_row_df = pd.DataFrame([new_row])
  2. 새 행 DataFrame을 원래 DataFrame과 연결합니다.

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

대안: ' loc'(주의)

또 옵션이지만 몇 가지 제한 사항이 있지만 'loc'을 사용하는 것입니다:

df.loc[len(df)] = new_row

그러나 이는 새 인덱스가 DataFrame에 아직 없는 경우에만 작동합니다(일반적으로 인덱스가 RangeIndex).

'append'가 제거된 이유는 무엇입니까?

'append' 방법 반복 삽입에는 비효율적이어서 제거되었습니다. 각 단계에서 'list.append'는 O(1)인 반면, 'DataFrame.append'는 O(n)이므로 루프 속도가 느려집니다. 또한 각 단계마다 새 DataFrame을 생성하여 2차 동작을 수행합니다.

반복 삽입 모범 사례

DataFrame에 행을 반복적으로 추가해야 하는 경우 , 목록의 새 항목을 수집하고 이를 DataFrame으로 변환한 다음 루프 끝에서 원래 DataFrame에 연결하는 것이 가장 좋습니다. 이 접근 방식은 반복되는 추가 작업으로 인한 오버헤드를 방지합니다.

위 내용은 DataFrame에 행을 추가하기 위해 Pandas의 더 이상 사용되지 않는 'append' 메서드를 대체하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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