DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
* = None 이라 표시된 것은 '='으로 어떤 값을 할당하는게 아니란 의미!
즉, labels 옵션은 그냥 어떠한 값을 적어주면 된다. ex) 'Pclass'
이중 가장 중요한 파라미터는 labels, axis, inplace이다.
1. labels
데이터프레임에서 제거할 (컬럼의)컬럼명이나 (특정 로우를 가리키는) 인덱스를 넣어주는 파라미터.
2. axis
axis=0을 입력하면, DataFrame의 특정 로우를 드롭하고자 하는것. -> 이상치를 제거하고자할 때 가끔 쓰임.
axis=1을 입력하면, DataFrame의 특정 컬럼을 드롭하고자 하는것. -> 기존 컬럼을 삭제하고자할 때 자주 쓰임.
3. inplace
drop() 메서드를 이용해서 특정 데이터를 제거할 때, 원본 데이터에 바로 적용할 것이냐(True), 원본 데이터는 유지할 것이냐(False, default) 를 정하는파라미터.
이제 직접 titanic 데이터를 보면서 적용해보겠다.
캐글 사이트에서 가져온 titanic 대회의 train 데이터셋이다.
import pandas as pd
titanic_df = pd.read_csv('titanic_train.csv')
titanic_df.head(3)
1. PassengerId 컬럼을 지우는데, 원본데이터를 그대로 두고 싶다면,
titanic_df.drop('PassengerId', axis=1, inplace=False)
- 여기서 labels가 'PassengerId'가 되는 것이고,
- axis=1이므로, 컬럼을 지우는 것.
- inplace=False이므로 원본 데이터는 그대로 두고, 제거된 데이터가 반환되는 것이다.
2. 0번째 행렬을 지우는데, 원본데이터를 지우고 싶다면,
result = titanic_df.drop([0], axis=0, inplace=True)
titanic_df.head(3)
- 여기서 labels 파라미터는 [0]이 된다.
- axis=0이므로, 로우 방향으로 지우는 것이다.
원본 데이터를 지울 경우 반환하는 값은 None이다.
그래서 위의 result 변수를 출력해보면,
'언어 > Python' 카테고리의 다른 글
1. 파이썬 기반의 머신러닝과 생태계 이해 (0) | 2021.04.01 |
---|---|
[DataFrame] 특정 문자와 일치하는 행 추출 및 제거하기 (0) | 2021.03.22 |
[colab] 8. colab으로 Iris 데이터 활용하기 (0) | 2021.01.24 |
[colab] 7. colab으로 scikit-learn 모듈 사용하기(Linear SVC) (0) | 2021.01.23 |
[colab] 6. 머신러닝 (0) | 2021.01.23 |