pandas.fillna() 用于对缺失值进行填充,可以将缺失值替换为指定的数值或使用指定的填充规则进行填充。该函数的语法格式如下:
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
其中各参数的含义如下:
value
:用于填充缺失值的值,可以是标量、字典、Series 或 DataFrame。method
:填充缺失值的方法,可选值包括backfill
(向前填充)、bfill
(向后填充)、pad
(用前面的非缺失数据填充)、ffill
(用后面的非缺失数据填充)等。axis
:指定在哪个轴上执行填充操作。inplace
:是否在原 DataFrame 上直接进行修改。limit
:对于前向填充和后向填充,限制填充缺失值的最大数量。downcast
:指定填充后的数据类型,可选值包括infer
(自动推断)、integer
(整型)等。
下面通过两个实例来说明 pandas.fillna() 的用法:
示例1:用指定值填充缺失值
import pandas as pd
import numpy as np
# 创建一个包含缺失值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, np.nan], 'C': [8, 9, 10, 11]})
print(df)
# 用指定值(0)填充缺失值
df.fillna(0, inplace=True)
print(df)
输出结果为:
A B C
0 1.0 5.0 8
1 2.0 NaN 9
2 NaN 7.0 10
3 4.0 NaN 11
A B C
0 1.0 5.0 8
1 2.0 0.0 9
2 0.0 7.0 10
3 4.0 0.0 11
从输出结果可以看出,在第一次打印 DataFrame 时,存在三个缺失值。在第二次打印 DataFrame 时,使用 fillna() 函数用指定值 0 来代替所有的缺失值。
示例2:使用指定的填充规则填充缺失值
import pandas as pd
import numpy as np
# 创建一个包含缺失值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, np.nan], 'C': [8, 9, 10, 11]})
print(df)
# 用向后填充的方式填充缺失值
df.fillna(method='bfill', inplace=True)
print(df)
输出结果为:
A B C
0 1.0 5.0 8
1 2.0 NaN 9
2 NaN 7.0 10
3 4.0 NaN 11
A B C
0 1.0 5.0 8
1 2.0 7.0 9
2 4.0 7.0 10
3 4.0 NaN 11
从输出结果可以看出,在第一次打印 DataFrame 时,存在三个缺失值。在第二次打印 DataFrame 时,使用了 method='bfill'
参数,即用向后填充的方式来填充缺失值。最终,缺失值被填充为前面的值,例如第二行第二列的缺失值被填充为 5 后面的的 7。由于最后一行没有缺失值可以进行填充,因此最后一行的缺失值仍然保持不变。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.fillna()(填充缺失值)函数使用方法 - Python技术站