手把手教你用pandas处理缺失值( 二 )


In:
_=df.fillna(0,inplace=True)dfOut:
0120-0.2047080.0000000.0000001-0.5557300.0000000.00000020.0929080.0000000.76902331.2464350.000000-1.29622140.2749920.2289131.35291750.886429-2.001637-0.37184361.669025-0.438570-0.539741用于重建索引的相同的插值方法也可以用于fillna:
In:
df=pd.DataFrame(np.random.randn(6,3))df.iloc[2:,1]=NAdf.iloc[4:,2]=NAdfOut:
01200.4769853.248944-1.0212281-0.5770870.1241210.30261420.523772NaN1.3438103-0.713544NaN-2.3702324-1.860761NaNNaN5-1.265934NaNNaNIn:
df.fillna(method='ffill')Out:
01200.4769853.248944-1.0212281-0.5770870.1241210.30261420.5237720.1241211.3438103-0.7135440.124121-2.3702324-1.8607610.124121-2.3702325-1.2659340.124121-2.370232In:
df.fillna(method='ffill',limit=2)Out:
01200.4769853.248944-1.0212281-0.5770870.1241210.30261420.5237720.1241211.3438103-0.7135440.124121-2.3702324-1.860761NaN-2.3702325-1.265934NaN-2.370232使用fillna你可以完成很多带有一点创造性的工作 。 例如 , 你可以将Series的平均值或中位数用于填充缺失值:
In:
data=https://pcff.toutiao.jxnews.com.cn/p/20210204/pd.Series([1.,NA,3.5,NA,7])data.fillna(data.mean())Out:
01.00000013.83333323.50000033.83333347.000000dtype:float64以下是fillna的函数参数 。
value:标量值或字典型对象用于填充缺失值method:插值方法 , 如果没有其他参数 , 默认是'ffill'axis:需要填充的轴 , 默认axis=0inplace:修改被调用的对象 , 而不是生成一个备份limit:用于前向或后向填充时最大的填充范围关于作者:韦斯·麦金尼(WesMcKinney)是流行的Python开源数据分析库pandas的创始人 。 他是一名活跃的演讲者 , 也是Python数据社区和Apache软件基金会的Python/C++开源开发者 。 目前他在纽约从事软件架构师工作 。
本文摘编自《利用Python进行数据分析》(原书第2版) , 经出版方授权发布 。

手把手教你用pandas处理缺失值
文章图片
延伸阅读《利用Python进行数据分析》
【手把手教你用pandas处理缺失值】推荐语:Python数据分析经典畅销书全新升级 , 第1版中文版累计销售100000册 。 针对Python3.6进行全面修订和更新 , 涵盖新版的pandas、NumPy、IPython和Jupyter 。