>백엔드 개발 >파이썬 튜토리얼 >Pandas가 DataFrame을 하위 설정할 때 `.copy()` 사용을 권장하는 이유는 무엇입니까?

Pandas가 DataFrame을 하위 설정할 때 `.copy()` 사용을 권장하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-08 13:09:01315검색

Why Does Pandas Recommend Using `.copy()` When Subsetting DataFrames?

Pandas에서 DataFrame을 복사하는 것이 왜 필수적인가요?

DataFrame의 하위 집합을 검색할 때 프로그래머가 복사본 생성을 권장하는 이유를 이해하는 것이 중요합니다. .copy() 메소드를 사용합니다. 기본적으로 Pandas에서 DataFrame을 하위 집합으로 설정하면 원래 DataFrame에 대한 참조가 반환됩니다. 즉, 하위 집합에 대한 변경 사항이 상위 DataFrame에 영향을 미칩니다.

복사하지 않으면 어떻게 되나요?

사본을 만들지 않고 하위 DataFrame을 수정하면 상위 DataFrame이 직접 변경됩니다. 예:

df = pd.DataFrame({'x': [1, 2]})
df_sub = df[0:1]
df_sub.x = -1

변경 후 df를 인쇄하면 하위 DataFrame만 수정하려고 했음에도 불구하고 첫 번째 행의 x 값이 -1로 변경된 것을 볼 수 있습니다.

복사 이점

복사본을 생성하면 다음과 같은 새로운 객체를 생성할 수 있습니다. 상위 DataFrame과 독립적입니다. 사본을 변경해도 원본에는 영향을 미치지 않습니다. 이는 전체 DataFrame을 실수로 수정하지 않고 데이터 하위 집합에 대해 작업을 수행하려는 경우 매우 중요합니다.

df_sub_copy = df[0:1].copy()
df_sub_copy.x = -1

이 경우 df는 변경되지 않고 원래 값을 유지합니다.

참고: 최신 버전의 Pandas에서는 .copy() 메서드가 더 이상 사용되지 않는다는 점을 강조하는 것이 중요합니다. 대신, 데이터 무결성을 보장하면서 DataFrame을 분할할 수 있는 .loc 및 .iloc 인덱싱 방법을 사용하는 것이 좋습니다.

위 내용은 Pandas가 DataFrame을 하위 설정할 때 `.copy()` 사용을 권장하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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