Programming/Python

[python] pandas Dataframe inplace 옵션 예제

bisi 2021. 1. 30. 19:44

 

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 옵션을 잘 사용해보자!

 

[참고 사이트]

 

Python - Pandas 튜토리얼 (데이터프레임 생성, 접근, 삭제, 수정)

인프런- 질문 게시판