pandas方法用于将缺失值替换为指定值。此方法替换整个系列对象中的 Nan 或 NA 值。series.fillna()
pandas fillna 的参数如下:
Value -它允许我们指定一个特定的值来替换 Nan,默认情况下它采用 None。
方法 -它用于填充重新索引系列中的缺失值。它采用这些值中的任何一个,例如 'backfill'、'bfill'、'pad'、'ffill' 和None(default).
Inplace -此参数采用布尔值。如果它为True,则修改将应用于原始系列对象本身,否则,它将创建一个具有更新缺失值的新系列作为结果。默认值为假。
Limit -此参数采用整数值,用于指定您希望向前/向后填充多少 NA 值。此参数的默认值为无。
Axis -它需要 0 或索引标签。
Downcast -它需要一个字典,指定数据类型的向下转换。
在这里,我们将看到该方法如何替换缺失值。series.fillna()
在以下示例中,我们将用整数值 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 系列对象。然后应用fillna()值为 10 的方法。这里,默认参数没有更改。
输出结果
输出如下 -
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。
这一次,我们将通过将 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 值保持不变。