- Pandas Tutorial - 파이썬 데이터 분석 라이브러리
- Pandas 객체 생성하기 (Object creation)
- Pandas 데이터 보기 (Viewing data)
- Pandas 데이터 선택하기 (Selection)
- Pandas 누락된 데이터 (Missing data)
- Pandas 연산 (Operations)
- Pandas 병합하기 (Merge)
- Pandas 그룹 (Grouping)
- Pandas 형태 바꾸기 (Reshaping)
- Pandas 타임 시리즈 (Time series)
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
Pandas 누락된 데이터 (Missing data)¶
Pandas는 누락된 데이터를 표시할 때 기본적으로 np.nan을 사용하고, 연산에는 포함되지 않습니다.
이번에는 DataFrame에서 누락된 데이터를 다루는 방법에 대해 소개합니다.
(Missing Data section 참고)
◼︎ Table of Contents
1) DataFrame 만들기¶
예제¶
import pandas as pd
import numpy as np
np.random.seed(0)
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(df)
A B C D
2013-01-01 1.764052 0.400157 0.978738 2.240893
2013-01-02 1.867558 -0.977278 0.950088 -0.151357
2013-01-03 -0.103219 0.410599 0.144044 1.454274
2013-01-04 0.761038 0.121675 0.443863 0.333674
2013-01-05 1.494079 -0.205158 0.313068 -0.854096
2013-01-06 -2.552990 0.653619 0.864436 -0.742165
간단한 DataFrame을 하나 만들었습니다.
2) 인덱스 변경/추가/삭제하기¶
예제¶
df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
df1.loc[dates[0]:dates[1], 'E'] = 1
print(df1)
A B C D E
2013-01-01 1.764052 0.400157 0.978738 2.240893 1.0
2013-01-02 1.867558 -0.977278 0.950088 -0.151357 1.0
2013-01-03 -0.103219 0.410599 0.144044 1.454274 NaN
2013-01-04 0.761038 0.121675 0.443863 0.333674 NaN
지정한 축에 대해 인덱스를 변경/추가/삭제할 수 있습니다.
reindex()를 사용해서 인덱스를 변경하면, 데이터의 사본을 반환합니다.
이어서 loc를 사용해서 ‘E’열의 첫번째, 두번째 데이터를 1로 설정했습니다.
3) 누락된 데이터가 있는 행 삭제하기¶
예제¶
print(df1.dropna(how='any'))
A B C D E
2013-01-01 1.764052 0.400157 0.978738 2.240893 1.0
2013-01-02 1.867558 -0.977278 0.950088 -0.151357 1.0
dropna()는 누락된 데이터가 있는 행을 삭제합니다.
4) 누락된 데이터를 특정 값으로 채우기¶
예제¶
print(df1.fillna(value=5))
A B C D E
2013-01-01 1.764052 0.400157 0.978738 2.240893 1.0
2013-01-02 1.867558 -0.977278 0.950088 -0.151357 1.0
2013-01-03 -0.103219 0.410599 0.144044 1.454274 5.0
2013-01-04 0.761038 0.121675 0.443863 0.333674 5.0
fillna()는 누락된 데이터를 특정 값으로 채웁니다.
이전글/다음글
다음글 : Pandas 연산 (Operations)