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

  • Post category:Python

pandas是Python中一个强大的数据处理工具,其中的DataFrame.fillna()函数可以将DataFrame中的缺失值填充为固定值或者根据某些规则进行填充。下面将详细讲解该函数的作用、使用方法及实例。

fillna()的作用

pandas.DataFrame.fillna()函数的作用是填充DataFrame中的缺失值。缺失值通常用NaN或None表示。当数据集中存在大量缺失值时,这些缺失值可能会对后续数据处理造成干扰,因此需要对缺失值进行处理。

fillna()的使用方法

fillna()函数可以接收多种不同类型的参数,其中最常用的参数是:

  • value:用于填充缺失值的固定值。该参数可以是一个标量值、一个字典、一个Series或一个DataFrame。标量值将用于填充所有缺失值,而字典、Series或DataFrame中的对应值将用于填充相应的缺失值。
  • method:用于填充缺失值的规则。method参数有多种选项,可以根据缺失值前面或后面的值进行填充,可以使用插值方法来确定缺失值。
  • axis:沿DataFrame中的行(0)或列(1)方向填充缺失值。
  • inplace:是否在原地替换缺失值。

例如,可以使用常量值填充DataFrame的NaN值:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
df.fillna(value=0, inplace=True)
print(df)
#输出结果
#    A    B  C
#0  1.0  4.0  7
#1  2.0  0.0  8
#2  0.0  0.0  9

上述代码中,将DataFrame中的NaN值用0填充,并将结果赋给df。由于inplace=True,因此直接修改原始DataFrame。

另一个实例是使用缺失值前面或后面的值来填充缺失值。例如:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})

# 使用前面的值填充
df.fillna(method='ffill', inplace=True)
print(df)
# 输出结果
#    A    B  C
#0  1.0  4.0  7
#1  2.0  4.0  8
#2  2.0  4.0  9

# 使用后面的值填充
df.fillna(method='bfill', inplace=True)
print(df)
# 输出结果
#    A    B  C
#0  1.0  4.0  7
#1  2.0  NaN  8
#2  NaN  NaN  9

在第一个示例中,使用前面的值填充缺失的值。在第二个示例中,使用后面的值来填充缺失的值。需要注意的是,如果在第一行或者最后一行使用方法填充,由于前面或者后面没有值,那么依然会存在缺失值。

总结

通过示例,我们可以看到fillna()函数是pandas中常用的缺失值处理函数,可以通过不同的参数来进行缺失值的填充。在数据预处理过程中,fillna()的使用可以帮助我们更好的处理缺失值问题。