python fillna,Pandas之Fillna填充缺失数据的方法
約定:
import pandas as pd
import numpy as np
from numpy import nan as NaN
填充缺失數據
fillna()是最主要的處理方式了。
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1
代碼結果:
0
1
2
0
1.0
2.0
3.0
1
NaN
NaN
2.0
2
NaN
NaN
NaN
3
8.0
8.0
NaN
用常數填充:
df1.fillna(100)
代碼結果:
0
1
2
0
1.0
2.0
3.0
1
100.0
100.0
2.0
2
100.0
100.0
100.0
3
8.0
8.0
100.0
通過字典填充不同的常數:
df1.fillna({0:10,1:20,2:30})
代碼結果:
0
1
2
0
1.0
2.0
3.0
1
10.0
20.0
2.0
2
10.0
20.0
30.0
3
8.0
8.0
30.0
傳入inplace=True直接修改原對象:
df1.fillna(0,inplace=True)
df1
代碼結果:
0
1
2
0
1.0
2.0
3.0
1
0.0
0.0
2.0
2
0.0
0.0
0.0
3
8.0
8.0
0.0
傳入method=” “改變插值方式:
df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3]=NaN;df2.iloc[2:4,4]=NaN
df2
代碼結果:
0
1
2
3
4
0
6
6
2
4.0
1.0
1
4
7
0
NaN
5.0
2
6
5
5
NaN
NaN
3
1
9
9
NaN
NaN
4
4
8
1
5.0
9.0
df2.fillna(method='ffill')#用前面的值來填充
代碼結果:
0
1
2
3
4
0
6
6
2
4.0
1.0
1
4
7
0
4.0
5.0
2
6
5
5
4.0
5.0
3
1
9
9
4.0
5.0
4
4
8
1
5.0
9.0
傳入limit=” “限制填充個數:
df2.fillna(method='bfill',limit=2)
代碼結果:
0
1
2
3
4
0
6
6
2
4.0
1.0
1
4
7
0
NaN
5.0
2
6
5
5
5.0
9.0
3
1
9
9
5.0
9.0
4
4
8
1
5.0
9.0
傳入axis=” “修改填充方向:
df2.fillna(method="ffill",limit=1,axis=1)
代碼結果:
0
1
2
3
4
0
6.0
6.0
2.0
4.0
1.0
1
4.0
7.0
0.0
0.0
5.0
2
6.0
5.0
5.0
5.0
NaN
3
1.0
9.0
9.0
9.0
NaN
4
4.0
8.0
1.0
5.0
9.0
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
總結
以上是生活随笔為你收集整理的python fillna,Pandas之Fillna填充缺失数据的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java jar包 配置文件_java
- 下一篇: 广域信息服务器,网络工程师之广域信息服务