千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > fillna函数用法详解

fillna函数用法详解

来源:千锋教育
发布人:xqq
时间: 2023-11-22 03:13:56 1700594036

fillna函数是pandas库提供的一个非常有用的函数,它的主要功能是填充缺失值。在实际数据处理中,我们经常会遇到一些数据缺失的情况,这就需要我们使用fillna函数来进行处理。

一、填充指定值

fillna函数最简单的用法就是将缺失值填充为指定值,通过将一个标量传递给fillna函数,可以将所有的缺失值替换为这个标量。下面是一个简单的示例:


import pandas as pd
import numpy as np

data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))

print(data.fillna(0))

以上代码运行结果为:


a    1.0
b    0.0
c    2.0
d    0.0
e    3.0
dtype: float64

在上面的代码中,我们创建了一个包含一些缺失值的Series对象,并将缺失值全部替换为0。

二、前向填充和后向填充

除了将缺失值替换为指定值,fillna函数还可以进行前向填充和后向填充。前向填充使用缺失值前面的值进行填充,而后向填充使用后面的值进行填充。

以下是一个前向填充的示例:


import pandas as pd
import numpy as np

data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))

print(data.fillna(method='ffill'))

以上代码运行结果为:


a    1.0
b    1.0
c    2.0
d    2.0
e    3.0
dtype: float64

在上面的代码中,我们使用了fillna函数的一个参数method。通过将method的值设置为'ffill',我们将缺失值前面的值填充到了缺失值上。

下面是一个后向填充的示例:


import pandas as pd
import numpy as np

data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))

print(data.fillna(method='bfill'))

以上代码运行结果为:


a    1.0
b    2.0
c    2.0
d    3.0
e    3.0
dtype: float64

在上面的代码中,我们使用了fillna函数的一个参数method。通过将method的值设置为'bfill',我们将缺失值后面的值填充到了缺失值上。

三、使用插值法填充

除了前向填充和后向填充,fillna函数还可以使用插值法填充缺失值。插值法是一种使用函数拟合缺失值的方法。当缺失值数量较少时,使用插值法可以得到较为准确的替代值。

以下是一个使用插值法填充的示例:


import pandas as pd
import numpy as np

data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))

print(data.interpolate())

以上代码运行结果为:


a    1.000000
b    1.333333
c    2.000000
d    2.500000
e    3.000000
dtype: float64

在上面的代码中,我们使用了fillna函数的一个参数method。通过将method的值设置为'interpolate',我们使用了插值法填充了缺失值。在上面的示例中,我们使用的是线性插值。

四、限制填充数量

在实际的数据处理中,我们有时需要限制填充的数量。fillna函数的limit参数可以帮助我们完成这项任务。

以下是一个限制填充数量的示例:


import pandas as pd
import numpy as np

data = pd.Series([1, np.nan, np.nan, 2, None], index=list('abcde'))

print(data.fillna(method='ffill', limit=1))

以上代码运行结果为:


a    1.0
b    1.0
c    NaN
d    2.0
e    2.0
dtype: float64

在上面的代码中,我们使用了fillna函数的一个参数limit。通过将limit的值设置为1,我们限制了填充数量,只将第一个缺失值填充了。

五、总结

fillna函数是pandas库中非常有用的一个函数,它可以帮助我们处理数据中的缺失值。通过掌握fillna函数的各种用法,我们可以快速处理原始数据中的缺失值,得到更加完整的数据集,从而更好地进行分析和建模。

tags: fillna
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT