pandas Dataframe의 inplace 옵션에 해서 알아보자.
inplace 옵션은 drop과 같은 주요 메소드들이 가지고 있으며, 디폴트 값은 False이다.
inplace 옵션이 False이면, 명령어를 실행 한 후 메소드가 적용된 데이터 프레임을 기존 데이터 프레임으로 대체하겠다는 뜻이다.
inplace 옵션이 True이면, 명령어를 실행 한 후 메소드가 적용된 데이터 프레임으로 반환 한다.
즉, 삭제 메소드를 실행했다면 반환값은 컬럼이 삭제된 Dataframe이 된다.
말로 설명하니, 구구절절하다.
아래 예제를 보면 한번에 이해가 될 것이다.
inplace = True
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
display(df)
# Drop the column with label 'A' .
df.drop('A', axis=1, inplace=True)
display(df)
inplace 옵션이 True이면 drop을 적용한 dataframe 결과값으로 반환한다.
조금더 상세하게 설명하자면, true 옵션일때는 메모리를 Copy하여 삭제하지 않고 원본 Dataframe의 메모리에 그대로 적용이 된다.
inplace = False
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
display(df)
# Drop the column with label 'A'
df.drop('A', axis=1, inplace=False)
display(df)
inplace 옵션이 False이면 drop을 적용했지만, 결과값은 drop 메소드가 적용되지 않는 dataframe으로 반환된다.
보통 코드 작성시에 inplace=False를 사용하는 것이 오히려 실수를 줄일 수 있다.
false 옵션을 적어 놓으면, 직관적이고, 실수로 원본데이터를 잘못 삭제하는 경우도 대비할 수 있기 때문이다.
적절할 상황에 inplace 옵션을 잘 사용해보자!
[참고 사이트]
'Programming > Python' 카테고리의 다른 글
[python] zip() 함수 (0) | 2021.03.12 |
---|---|
[Error] ImportError: cannot import name 'imread' (0) | 2020.12.04 |
[python] pip install error - Consider using the `--user` option or check the permissions. (0) | 2020.10.24 |