Pandas 如何使用series.fillna()方法替换缺失值

Pandas 如何使用series.fillna()方法替换缺失值

pandas的series.fillna()方法用于将缺失值替换为指定的值。该方法会替换整个系列对象中的NaN或NA值。

pandas fillna的参数如下:

  • Value – 允许我们指定一个特定的值来替换NaN,默认为None。

  • Method – 用于填充重新索引Series中的缺失值。它可以取’backfill’、’bfill’、’pad’、’ffill’和None(默认值)中的任何一个值。

  • Inplace – 该参数接受一个布尔值。如果为True,则修改将应用于原始的系列对象本身;否则,它将创建一个新的系列,其中包含更新后的缺失值作为结果。默认值为False。

  • Limit – 此参数接受一个整数值,用于指定要向前/向后填充多少个NA值。此参数的默认值为None。

  • Axis – 它可以取0或索引标签。

  • Downcast – 它接受一个指定数据类型下降的字典。

在这里,我们将看到series.fillna()方法如何替换缺失值。

示例1

在以下示例中,我们将使用整数值10替换缺失值。

# importing pandas package
import pandas as pd
import numpy as np

# create a series
s = pd.Series([np.nan, np.nan, 89, 64, np.nan], index=["a", "b", "c", "d", "e"])
print(s)

# replace Missing values with 10
result = s.fillna(10)
print('Result:')
print(result)

说明

最初,我们创建了一个带有一些缺失值的pandas series对象。然后使用value 10应用了fillna()方法。在这里,默认参数没有改变。

输出

输出如下:

a     NaN
b     NaN
c    89.0
d    64.0
e     NaN
dtype: float64

Result:
a    10.0
b    10.0
c    89.0
d    64.0
e    10.0
dtype: float64

在上面的输出块中,我们可以看到整个系列对象中的所有NaN值都被替换为值10。

示例2

这次,我们将通过指定bfill值到方法参数来替换缺失的值。因此,我们不需要指定任何特定的值来填充缺失的值,它将取代NaN后面的值。

# importing pandas package
import pandas as pd
import numpy as np

# create a series
s = pd.Series([np.nan, np.nan, 89, 64, np.nan], index=["a", "b", "c", "d", "e"])
print(s)

# replace Missing values with bfill
result = s.fillna(method='bfill')
print('Result:')
print(result)

输出

以下是输出结果:

a     NaN
b     NaN
c    89.0
d    64.0
e     NaN
dtype: float64

Result:
a    89.0
b    89.0
c    89.0
d    64.0
e     NaN
dtype: float64

在上面的输出块中,我们可以看到在索引位置a、b的NaN值被替换成了值89,这是因为我们在方法参数中指定了bfill值。索引位置e的NaN值仍然保持不变。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记