fillna
是 pandas 中用于填充缺失值的方法。它允许你用指定的值或方法替代 DataFrame 或 Series 中的缺失数据(即 NaN
)。
具体来说,fillna
具有以下几个常见用途:
-
填充缺失值:你可以用一个常量值填充所有缺失的地方。例如:
df['列名'].fillna(0, inplace=True)
这会把
'列名'
中的所有NaN
替换为 0。 -
用前一个有效值填充(前向填充):可以使用
method='ffill'
:df['列名'].fillna(method='ffill', inplace=True)
这会用列中前一个有效值替换所有缺失值。
-
用后一个有效值填充(后向填充):可以使用
method='bfill'
:df['列名'].fillna(method='bfill', inplace=True)
这会用列中后一个有效值替换所有缺失值。
-
填充特定的缺失值:你还可以用另一个 DataFrame 或 Series 的对应值来填充缺失值:
df['列名'] = df['列名'].fillna(另一个数据结构)
-
多列填充:可以用不同的值填充不同的列:
df.fillna({'列名1': 0, '列名2': '未知'}, inplace=True)
使用 fillna
方法时,可以选择是否在原地修改数据 (inplace=True
),还是返回一个填充后的新 DataFrame。