Pandas之Fillna填充缺失数据的方法
更新时间:2019年06月25日 14:14:56 作者:yungeisme
这篇文章主要介绍了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内置函数compile(),complex()的使用
这篇文章主要为大家详细介绍了python内置函数compile(),complex()的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-06-06
在PyCharm搭建OpenCV-python的环境的详细过程
这篇文章主要介绍了在PyCharm搭建OpenCV-python的环境的详细过程,本文通过图文并茂的形式给大家介绍搭建步骤,对PyCharm搭建OpenCV-python环境相关知识感兴趣的朋友一起看看吧2022-05-05
django请求返回不同的类型图片json,xml,html的实例
今天小编就为大家分享一篇django请求返回不同的类型图片json,xml,html的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-05-05


最新评论