시나리오:
DataFrame의 하위 집합을 선택하는 동안 일반적으로 .copy() 메서드를 사용하여 상위 DataFrame의 복사본을 명시적으로 만드는 코드를 발견합니다. 질문이 생깁니다. 이것이 왜 필요한가요?
추론:
Pandas 데이터 프레임은 기존 프로그래밍 언어 배열과 다르게 동작합니다. Pandas DataFrame(예: my_dataframe[features_list])을 인덱싱할 때 반환된 값은 새 복사본을 생성하지 않고 오히려 원본 DataFrame에 대한 뷰 또는 참조를 반환합니다. 이 뷰를 수정하면 원본 DataFrame에 직접적인 영향을 미칩니다.
예:
다음 코드를 고려하세요.
출력:
보시다시피 df_view를 수정하면 원본도 수정됩니다. df DataFrame.
해결책:
이러한 의도하지 않은 결과를 방지하려면 수정하기 전에 .copy() 메서드를 사용하여 DataFrame의 복사본을 만드는 것이 좋습니다. 이렇게 하면 복사본에 대한 변경 사항이 원본 DataFrame에 영향을 주지 않습니다.
수정된 코드:
출력:
이 경우 df는 변경되지 않습니다.
이점 데이터 프레임 복사:
위 내용은 Pandas DataFrames의 하위 집합을 선택할 때 왜 .copy()를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!