"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Pandas는 언제 뷰와 복사본을 생성합니까?

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

2024-11-06에 게시됨
검색:281

When Does Pandas Create a View vs a Copy?

뷰 생성과 복사 생성에 대한 Pandas 규칙

Pandas는 DataFrame의 슬라이스 작업이 뷰 또는 복사. 이러한 규칙을 이해하면 데이터 조작을 최적화하고 예상치 못한 동작을 방지할 수 있습니다.

항상 복사본을 생성하는 작업으로 시작:

  1. 수정하도록 특별히 설계된 작업을 제외한 모든 작업 DataFrame을 제자리에 복사하고 복사본을 만듭니다.
  2. 특정 작업만 원본 DataFrame에서 직접 수정이 발생할 수 있도록 하는 inplace=True 매개변수를 지원합니다.

다음으로 작업을 고려해 보겠습니다. 뷰가 발생할 수 있습니다:

  1. .loc, .iloc, .iat 및 .at와 같은 값을 설정하는 인덱서는 내부에서 작동하여 복사본을 만들지 않고 원본 DataFrame을 수정합니다.
  2. 기본 메모리 레이아웃이 이 최적화를 방해하지 않는 한 단일 dtype 개체에서 데이터를 검색하는 인덱서는 일반적으로 뷰를 생성합니다.
  3. 반대로, 다중 dtype 개체에서 데이터를 검색하는 인덱서는 항상 복사본을 생성합니다.

예제와 관련하여:

  • df.query('2
  • df.iloc[3] = 70 및 df.ix[1, 'B':'E'] = 222 단일 dtype 객체에 액세스하고 내부 값을 설정하기 때문에 df를 변경합니다.
  • df[df.C
  • 그러나 df[df.C

쿼리를 기반으로 특정 값을 수정하려면 올바른 loc 구문을 사용하세요.

df.loc[df.C 

이러한 규칙을 준수하면 Pandas가 보기 또는 복사본을 생성하는 시점을 명확하게 이해하여 Python 스크립트 내에서 효율적인 데이터 조작을 보장할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3