[Pandas]Series drop, dropna
- Python/Pandas
- 2020. 6. 28.
Series의 drop과 slicing 에 대해서 살펴보겠습니다.
Drop
데이터를 받다보면 내가 필요없는 데이터들이 존재합니다. 그럴 때, drop을 이용해 데이터를 없앨 수 있습니다.
import numpy as np
import pandas as pd
s = pd.Sereis(np.arange(1,6),['a','b','c','d','e']
s
d를 없애보겠습니다.
s.drop('d')
이번엔 d와 e를 없애보겠습니다. d와 e 두개 이상의 데이터를 없앨때는 대괄호 안에 해당 인덱스를 써 넣습니다.
s.drop(['d','e'])
하지만 이런다고 s에서 완전히 없어진건 아닙니다. 원본 데이터는 그대로 둔채 drop된 새로운 데이터로 추가로 생성되는 방식이기 때문입니다. s를 다시 부르면 d,e가 사라진 것이 아님을 알 수 있습니다.
s
이렇게 되는 이유는 파라미터를 살펴보면 알 수 있습니다.
drop의 파라미터를 살펴보면 inplace=False 로 되어 있는 걸 볼 수 있습니다. inplace는 다른 곳에서도 종종 볼 수 있는데 원본데이터에 적용할것인지를 결정한다고 여기면 될 것 같습니다. True로 바꿔주면 원본데이터에 적용되고 False는 원본데이터에 적용이 안됩니다.
inplace를 알았으니 이제 원본 데이터에 적용을 해보겠습니다.
원본 데이터에서 d와 e를 없애겠습니다.
s.drop(['d','e'],inplace=True)
s
s를 호출하면 d,e가 빠져서 나오는 것을 볼 수 있습니다.
Dropna
nan 이 있을 때 dropna를 이용하면 데이터 제거를 할 수 있습니다.
nan을 먼저 생성하고 지워보겠습니다.
s['k']=float('nan')
s
k라는 index에 nan을 넣었습니다.
이제 dropna로 다시 없애겠습니다. 마찬가지로 inplace=True를 해야 s에 적용이 됩니다.
s.dropna(inplace=True)
s
보시는바와 같이 nan을 없앴습니다.
이번 포스팅을 마치겠습니다. 읽어주셔서 감사합니다.
'Python > Pandas' 카테고리의 다른 글
[Pandas] DataFrame 살펴보기(생성,데이터파악) (0) | 2020.07.06 |
---|---|
[Pandas]Series 슬라이싱 (0) | 2020.07.01 |
Series Boolean Select (0) | 2020.06.24 |
Series 연산 (0) | 2020.06.20 |
[Pandas] Series 간단 분석 (0) | 2020.06.16 |