>백엔드 개발 >파이썬 튜토리얼 >Pandas는 언제 뷰와 복사본을 생성합니까?

Pandas는 언제 뷰와 복사본을 생성합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 13:40:031039검색

When Does Pandas Create a View vs. a Copy?

Pandas는 언제 뷰와 복사본을 생성합니까?

Pandas 데이터 프레임의 데이터에 액세스할 때 특정 작업은 뷰(원본 데이터에 대한 참조)를 반환하고 다른 작업은 뷰를 반환합니다. 복사본을 생성합니다. 효율적인 데이터 조작을 위해서는 이 동작을 제어하는 ​​규칙을 이해하는 것이 중요합니다.

일반 규칙

  1. 작업 생성 복사본: 아래 나열된 작업을 제외한 모든 작업은 일반적으로 복사본을 생성합니다. .
  2. 내부 수정: inplace=True가 지정된 경우 일부 작업은 원본 데이터 프레임을 직접 수정할 수 있습니다.

인덱서

  1. 인덱서 설정: 값을 설정하는 인덱서(예: .loc, .iloc, .iat, .at)는 내부 수정을 수행합니다.
  2. 싱글에서 인덱서 가져오기 -D 유형 개체: Get 인덱서는 종종 단일 데이터 유형 개체에 대한 뷰를 반환합니다(이 동작은 메모리 레이아웃에 따라 다를 수 있음).
  3. 다중 유형 개체에 대한 인덱서 가져오기: Get 여러 데이터 유형을 가진 객체의 인덱서는 항상 복사본을 반환합니다.

예제 분석

주어진 예에서

<code class="python">df[df.C <= df.B].ix[:,'B':'E']</code>

체인 인덱싱된 선택 항목이 안정적으로 유지되지 않습니다. 원본 데이터 프레임에 대한 보기. 대신 올바른 구문을 사용하세요.

<code class="python">df.loc[df.C <= df.B, 'B':'E']</code>

예기치 않은 동작 방지

예측할 수 없는 동작을 방지하려면 다음 방법을 엄격히 준수하세요.

  • .loc 사용 행 기반의 경우 인덱서, 정수 기반 선택의 경우 .iloc.
  • 인덱서를 연결하는 대신 인덱서 인수 내에 쿼리 조건을 배치하세요.

이러한 규칙을 따르면 다음을 수행할 수 있습니다. Pandas 데이터프레임 내에서 복사본과 보기를 효과적으로 관리하여 효율적인 데이터 조작과 예측 가능한 결과를 보장합니다.

위 내용은 Pandas는 언제 뷰와 복사본을 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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