일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- LatentFactorModel
- gluonnlp
- ExplicitData
- decimal error
- github2FA
- str.replace
- 텐서플로자격증
- json
- Cast
- vscode
- MySQL
- wordembedding
- jsonl
- Convert
- BloombergMarketConcepts
- iterrows
- MatrixFactorization
- numpy.bool
- Python
- VScodeNotResponding
- DIF_SR
- sshtunnel
- session-basedRecommendation
- Colab
- pandas
- TensorflowDeveloperCertificate
- Visualization
- 지도시각화
- jsonlines
- implicitData
- Today
- Total
garret
[Python] pandas.DataFrame.dropna() 함수 본문
DataFrame 함수 전처리할 때 종종 사용하는 dropna().
보통 axis 파라미터만 사용했는데, 다양한 옵션들이 있어서 알면 유용할 거 같아 정리.
dropna 함수 정의
DataFrame.dropna(*, axis=0, how=_NoDefault.no_default,
thresh=_NoDefault.no_default, subset=None, inplace=False,ignore_index=False)
결측값을 삭제하는 함수
파라미터 구성
axis : drop할 row나 column 선택, single axis만 가능. 디폴트 0
- 0 , 'index' : 결측값 있으면 row drop
- 1, 'columns' : 결측값 있으면 column drop
how : 하나의 결측값만 있어도 drop할지, 전부 결측값일 때 drop할지 결정. 디폴트 'any'
- 'any' : 하나의 결측값만 있어도 해당 row 나 column drop
- 'all' : 모든 value가 결측값일 때, 해당 row나 column drop
thresh : drop하지 않을 최소 비결측값 개수 설정. how와 같이 쓸 수 없다.
subset : drop하려는 column 라벨, 또는 라벨의 시퀀스 설정. (optional)
inplace : DataFrame을 수정할지, 새로운 DataFrame을 만들지 결정. 디폴트 False
ignore_index : True라면, 결과 axis는 0,1,...,n-1로 라벨링. 디폴트 False
예시
>>> df = pd.DataFrame({"name": ['pubao', 'ibao', 'lebao'],
... "toy": [np.nan, 'bamboo', 'ball'],
... "born": [pd.NaT, pd.Timestamp("2010-04-25"),
... pd.NaT]})
>>> df
name toy born
0 pubao NaN NaT
1 ibao bamboo 2010-04-25
2 lebao ball NaT
옵션 지정안했을 경우
디폴트값 axis=0, how=any 로 설정되어 결측값이 있는 모든 row drop.
>>> df.dropna()
name toy born
1 ibao bamboo 2010-04-25
axis = 'columns' 또는 axis = 1 지정시, 결측값이 있는 column 모두 drop
>>> df.dropna(axis='columns')
name
0 pubao
1 ibao
2 lebao
how = 'all' 일 때, row의 모든 값이 결측값인 경우에만 drop
>>> df.dropna(how='all')
name toy born
0 pubao NaN NaT
1 ibao bamboo 2010-04-25
2 lebao ball NaT
thresh = 2 ; row의 비결측값이 2개이상인 것만 남기고 나머지 drop
>>> df.dropna(thresh=2)
name toy born
1 ibao bamboo 2010-04-25
2 lebao ball NaT
'name' 컬럼과 'toy' 컬럼에서 결측값이 있는 경우 drop
>>> df.dropna(subset=['name', 'toy'])
name toy born
1 ibao bamboo 2010-04-25
2 lebao ball NaT
Reference
pandas.DataFrame.dropna — pandas 2.0.2 documentation
next pandas.DataFrame.duplicated
pandas.pydata.org
'Programming > Python' 카테고리의 다른 글
[Python] requests, MultipartEncoder 라이브러리로 REST API 호출 (0) | 2023.08.23 |
---|---|
[Python] pandas.Series.str.replace 함수 (0) | 2023.07.05 |
[Python, 환경설정] conda에서 python 가상환경 생성 (0) | 2023.06.14 |
[Python] pandas.DataFrame.select_dtypes 함수 (0) | 2023.06.13 |
[Python] pandas.DataFrame.sample() 함수 (0) | 2023.06.09 |