温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Pandas中使用Fillna填充缺失数据

发布时间:2021-05-21 16:47:03 来源:亿速云 阅读:451 作者:Leah 栏目:开发技术

本篇文章为大家展示了如何在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

代码结果:


012
01.02.03.0
1NaNNaN2.0
2NaNNaNNaN
38.08.0NaN

用常数填充:

df1.fillna(100)

代码结果:


012
01.02.03.0
1100.0100.02.0
2100.0100.0100.0
38.08.0100.0

通过字典填充不同的常数:

df1.fillna({0:10,1:20,2:30})

代码结果:


012
01.02.03.0
110.020.02.0
210.020.030.0
38.08.030.0

传入inplace=True直接修改原对象:

df1.fillna(0,inplace=True)
df1

代码结果:


012
01.02.03.0
10.00.02.0
20.00.00.0
38.08.00.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

代码结果:


01234
06624.01.0
1470NaN5.0
2655NaNNaN
3199NaNNaN
44815.09.0
df2.fillna(method='ffill')#用前面的值来填充

代码结果:


01234
06624.01.0
14704.05.0
26554.05.0
31994.05.0
44815.09.0

传入limit=” “限制填充个数:

df2.fillna(method='bfill',limit=2)

代码结果:


01234
06624.01.0
1470NaN5.0
26555.09.0
31995.09.0
44815.09.0

传入axis=” “修改填充方向:

df2.fillna(method="ffill",limit=1,axis=1)

代码结果:


01234
06.06.02.04.01.0
14.07.00.00.05.0
26.05.05.05.0NaN
31.09.09.09.0NaN
44.08.01.05.09.0

上述内容就是如何在Pandas中使用Fillna填充缺失数据,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI