导入:
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
代码结果:
- 通过字典填充不同的常数:
df1.fillna({0:10,1:20,2:30})
代码结果:
- 传入inplace=True直接修改原对象:
df1.fillna(0,inplace=True)
df1
代码结果:
- 传入method=” “改变插值方式:
df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3]=NaN;df2.iloc[2:4,4]=NaN
df2
代码结果:
df2.fillna(method='ffill')#用前面的值来填充
代码结果:
- 传入limit=” “限制填充个数:
df2.fillna(method='bfill',limit=2)
代码结果:
- 传入axis=” “修改填充方向:
df2.fillna(method="ffill",limit=1,axis=1)
代码结果: