안 쓰던 블로그

Pandas DataFrame 삭제 drop()에서 헷갈리기 쉬운 부분 본문

머신러닝/머신러닝

Pandas DataFrame 삭제 drop()에서 헷갈리기 쉬운 부분

proqk 2020. 11. 11. 18:51
반응형

DataFrame은 drop()으로 삭제한다

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

 

 

1. axis: DataFrame의 로우(가로)를 삭제할 때 axis=0, 컬럼(세로)를 삭제할 때는 axis=1로 설정

디폴트는 0이라서 보통 컬럼을 삭제하는 경우가 많은데 로우를 삭제해 버릴 수 있다

 

2. 원본 DataFrame은 유지하고 드롭된 DataFrame을 새롭게 객체 변수로 받고 싶다면 inplace=False로 설정(디폴트 값이 False)

titanic_drop_df = titanic_df.drop('Age_0', axis=1, inplace=False)

예) titanic_df 에서 Age_0이 삭제된 결과가 titanic_drop_df에 할당된다 (True로 주면 원본에 드롭된 결과가 적용된다)

디폴트 값이 False라서 헷갈릴 수 있는 부분

 

3. 원본 DataFrame에서 드롭된 DataFrame을 다시 원본 DataFrame 객체 변수로 할당하면,

원본 DataFrame에서 드롭된 결과를 적용할 경우와 같음 (단, 기존 원본 DataFrame 객체 변수는 메모리에서 추후 제거됨)

titanic_df = titanic_df.drop('Age_0', axis=1, inplace=False)

 

drop할 때 제대로 원하는 결과가 안 나오면 axis와 inplace값을 원하는 방향으로 잘 설정했는지 확인한다

반응형
Comments