ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SettingWithCopyWarning
    Computer Science 2023. 11. 24. 20:05
    728x90

    원천이 되는 DataFrame의 일부로 구성된 파생 DataFrame에 변경을 가하는 경우 발생

     

    왜?

    Pandas DataFrame은 연쇄적인 연산과 처리를 허용

    • SQL에서 테이블을 SELECT 한 결과가 다시 테이블이 되어 다시 SELECT할 수 있는 것처럼
    • DataFrame도 자료구조이기 때문에, 메모리를 점유
    • Pandas에서는 원천 DataFrame을 생성할 때만 메모리를 할당하고 파생 DataFrame은 원천 데이터프레임을 이미 적재된 메모리에 접근케하며 메모리를 절약

    Pandas는 copy() 메서드를 통해 파생 DataFrame에 독립적인 메모리를 부여한 뒤 수정을 가하도록 우도

    View랑 무슨 연관관계일까?

    View는 하나 이사의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블이다. 뷰에 대한 수정 결과는 뷰를 정의한 기본 테이블에 적용이 된다. Pandas의 DataFrame 또한 이와 같은 원리이므로, 새로 변경을 가하게 된다면 복잡한 변형이 발생할 수 있다.

    오늘은 이렇게 했지만, 보다 효율적인 코드를 위해 이 복잡성을 다음부터는 해결하자.

    어떻게?

    .copy() 메서드로 복제함으로써 독립적인 메모리를 할당하자!

     

    728x90

    'Computer Science' 카테고리의 다른 글

    [CS] Persistent Data structure  (0) 2024.07.05
    Git Branch 전략  (0) 2024.02.18
    방화벽  (0) 2023.11.05
    데이터베이스 관련 정리  (0) 2023.11.05
    Git  (1) 2023.10.30
Designed by Tistory.