Pandas 데이터 부족 처리
5838 단어 Pandas
Pandas 는 np. nan 으로 데이터 부족 을 대표 합 니 다.
import pandas as pd
import numpy as np
dates = pd.date_range('20130101',periods=10)
df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
df.head()
A
B
C
D
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
2013-01-03
0.262541
-0.034165
0.712012
0.053880
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
2013-01-05
-0.483484
1.896420
-1.087918
-0.608670
reindex()
색인 을 수정 할 수 있 고 데이터 의 사본 을 되 돌려 줍 니 다.df1 = df.reindex(index = dates[0:4], columns = ['A', 'B', 'C', 'D', 'E'])
df1
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
NaN
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
NaN
2013-01-03
0.262541
-0.034165
0.712012
0.053880
NaN
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
NaN
df2 = df.reindex(index=dates[0:4], columns=['A','B','C','D']+['E'])
df2
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
NaN
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
NaN
2013-01-03
0.262541
-0.034165
0.712012
0.053880
NaN
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
NaN
df3 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
df3
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
NaN
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
NaN
2013-01-03
0.262541
-0.034165
0.712012
0.053880
NaN
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
NaN
df3.loc[dates[0]:dates[1],'E'] = 1
df3
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
1.0
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
1.0
2013-01-03
0.262541
-0.034165
0.712012
0.053880
NaN
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
NaN
부족 한 값 을 채우다
df1.fillna(value=5)
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
5.0
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
5.0
2013-01-03
0.262541
-0.034165
0.712012
0.053880
5.0
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
5.0
df2['E'] = df1['E'].fillna(value=5)
df2
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
5.0
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
5.0
2013-01-03
0.262541
-0.034165
0.712012
0.053880
5.0
2013-01-04
0.142971
-0.009381
-0.369560
2.142902
5.0
부족 한 항목 이 있 는 줄 버 리 기:
df3.dropna(how = 'any')
A
B
C
D
E
2013-01-01
-0.031531
1.231280
-1.069298
1.068172
1.0
2013-01-02
-0.216581
0.535341
-1.408095
0.677334
1.0
부재 항 불 할당
df4 = df1.isnull()
df4
A
B
C
D
E
2013-01-01
False
False
False
False
True
2013-01-02
False
False
False
False
True
2013-01-03
False
False
False
False
True
2013-01-04
False
False
False
False
True
df5 = pd.isnull(df1)
df5
A
B
C
D
E
2013-01-01
False
False
False
False
True
2013-01-02
False
False
False
False
True
2013-01-03
False
False
False
False
True
2013-01-04
False
False
False
False
True
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pandas의 DataFrame 스왑 열 순서 방법 구현1. DataFrame 열 레이블 가져오기 ['ps_state-stopped', 'ps_state-running', 'ps_state-blocked', 'ps_state-paging', 'ps_state-sleepi...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.