📌  相关文章
📜  如何在 pandas 中将 nan 替换为 0 - Python (1)

📅  最后修改于: 2023-12-03 15:24:18.484000             🧑  作者: Mango

如何在 Pandas 中将 NaN 替换为 0?

在 Pandas 中,常常会出现缺失值 NaN 的情况,这会影响到我们对数据的处理。如果需要将缺失值替换为其他的值,可以使用 Pandas 中的 fillna() 方法。

fillna() 方法

fillna() 方法可以将指定列中的 NaN 替换为指定的值,其语法如下:

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
  • value:指定替换 NaN 的值。可以是一个标量、字典、Series、DataFrame 或者一个函数。
  • method:指定替换 NaN 的方法。可以是 "ffill"(向前填充)或 "bfill"(向后填充)。
  • axis:指定替换的轴。可以是 0(行)或 1(列)。
  • inplace:是否在原 DataFrame 上进行操作。
  • limit:指定最大连续 NaN 值的个数。
  • downcast:指定转换数据类型的方法。可以是 "infer"(自动推断)、"integer"(int 类型)、"signed"(有符号类型)或 "unsigned"(无符号类型)。
将 NaN 替换为 0

我们可以使用 fillna() 方法将指定列的 NaN 值替换为 0,代码如下:

import pandas as pd

# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, pd.np.nan, 9, pd.np.nan]})

# 将列 B 的 NaN 替换为 0
df['B'].fillna(0, inplace=True)

# 输出 DataFrame
print(df)

运行结果如下:

   A    B
0  1  6.0
1  2  7.0
2  3  0.0
3  4  9.0
4  5  0.0

我们可以看到,列 B 中的 NaN 值已经被成功替换为了 0。

总结

使用 fillna() 方法可以快速将指定列中的 NaN 值替换为指定的值。在使用该方法时,需要注意选择替换的值和替换的方法,以便得到正确的结果。