阅读量:0
fillna()
函数通常用于填充缺失值,例如 NaN(Not a Number)或 None
首先,导入所需库并创建一个包含缺失值的 DataFrame:
import pandas as pd import numpy as np data = {'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) print("原始 DataFrame:") print(df)
这将输出以下 DataFrame:
原始 DataFrame: A B C 0 1.0 4.0 7 1 2.0 NaN 8 2 NaN 6.0 9
现在,我们将使用 fillna()
函数处理特定类型的缺失值。在这个例子中,我们将用 0 替换所有类型为 float
的缺失值(NaN):
# 使用 fillna() 函数处理特定类型的缺失值 filled_df = df.fillna(0, inplace=False) print("填充后的 DataFrame:") print(filled_df)
这将输出以下 DataFrame:
填充后的 DataFrame: A B C 0 1.0 4.0 7 1 2.0 0.0 8 2 0.0 6.0 9
注意,inplace=False
表示我们不会直接修改原始 DataFrame,而是返回一个新的 DataFrame。如果你希望直接修改原始 DataFrame,可以将 inplace
参数设置为 True
。
如果你想要基于特定条件填充缺失值,可以使用 fillna()
函数的 method
参数。例如,你可以使用前一个有效值(ffill
)或后一个有效值(bfill
)来填充缺失值:
# 使用前一个有效值填充缺失值 filled_df_ffill = df.fillna(method='ffill', inplace=False) print("使用前一个有效值填充后的 DataFrame:") print(filled_df_ffill) # 使用后一个有效值填充缺失值 filled_df_bfill = df.fillna(method='bfill', inplace=False) print("使用后一个有效值填充后的 DataFrame:") print(filled_df_bfill)
这将分别输出以下 DataFrames:
使用前一个有效值填充后的 DataFrame: A B C 0 1.0 4.0 7 1 2.0 4.0 8 2 2.0 6.0 9 使用后一个有效值填充后的 DataFrame: A B C 0 1.0 4.0 7 1 2.0 6.0 8 2 1.0 6.0 9