inplace 란?
Pandas 의 DataFrame 나 Series 객체를 조작할때, 원본 데이터를 바로 수정할지 여부를 결정하는 옵션이다
기본적으로 판다스의 함수들은 원본 데이터를 변경하지 않고 새로운 객체를 반환 한다.
inplace=True 를 설정하면 원본 데이터가 직접 변경된다.
사용예시
(1) inplace=False (기본값)
- 원본 데이터는 변경되지 않으며, 새로운 데이터프레임이 반환된다.
# 데이터프레임 복사
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# drop으로 열 삭제 (inplace=False, 기본값)
new_df = df.drop('A', axis=1) # A 열을 삭제한 새로운 데이터프레임 반환
print(new_df) # A 열이 삭제됨
print(df) # 원본 데이터는 유지됨
(2) inplace=True
- 원본 데이터프레임이 직접 수정된다.
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# inplace=True로 열 삭제
df.drop('A', axis=1, inplace=True) # 원본 데이터프레임에서 A 열 삭제
print(df) # A 열이 삭제된 상태
inplace 사용시 주의점
(1) inplace=True 는 반환값이 None 입니다. 결과를 변수에 저장하려고 하면 None 이 저장됩니다.
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 잘못된 사용 예시
new_df = df.drop('A', axis=1, inplace=True)
print(new_df) # None
(2) 원본 데이터가 변경되므로 복구가 어렵다.
- 데이터를 안전하게 유지하려면 사본을 만든 뒤 작업하는 것이 좋습니다.
# 원본 보존을 위해 복사
df_copy = df.copy()
inplace 를 사용하는 주요 함수
'Python > Pandas' 카테고리의 다른 글
[Pandas] 데이터 접근 (at, loc) (0) | 2024.12.16 |
---|---|
[Pandas] 데이터 미리보기 및 기본정보 확인 (1) | 2024.12.15 |
[Pandas] 시리즈, 데이터프레임 ( Series, DataFrame ) (0) | 2024.12.15 |
[Pandas] Pandas 기본 (11) | 2024.12.07 |
[Pandas] Pandas란? (3) | 2024.12.07 |