详解pandas.fillna()(填充缺失值)函数使用方法

yizhihongxing

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技术站

(1)
上一篇 2023年3月22日
下一篇 2023年3月22日

相关文章

合作推广
合作推广
分享本页
返回顶部