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

📅  最后修改于: 2023-12-03 14:53:44.415000             🧑  作者: Mango

将 NaN 替换为 0 Pandas - Python

在 Pandas 中,有时候我们会遇到缺失数据(NaN)。为了更好的处理数据,我们需要将这些 NaN 替换为合适的值。本文将介绍如何使用 Pandas 将 NaN 替换为 0。

准备工作

在进行替换之前,我们需要先导入 Pandas 库,并创建一个包含 NaN 数据的 DataFrame。

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [0, 1, np.nan, 3],
                   'B': [np.nan, 5, 6, np.nan],
                   'C': [7, 8, 9, 10]})
print(df)

输出:

     A    B   C
0  0.0  NaN   7
1  1.0  5.0   8
2  NaN  6.0   9
3  3.0  NaN  10
将 NaN 替换为 0

使用 Pandas 的 fillna() 函数,我们可以将 DataFrame 中的 NaN 值替换为指定的值。以下是将 NaN 替换为 0 的示例代码:

df.fillna(0, inplace=True)
print(df)

输出:

     A    B   C
0  0.0  0.0   7
1  1.0  5.0   8
2  0.0  6.0   9
3  3.0  0.0  10

Inplace 参数设置为 True,表示直接在原 DataFrame 上进行修改,而不是返回一个新的 DataFrame。

将指定列的 NaN 替换为 0

有时候我们仅需要将 DataFrame 中某些列的 NaN 替换为 0。此时我们可以使用 fillna() 函数的 subset 参数来指定列。

以下是将 A 和 C 列中的 NaN 替换为 0 的示例代码:

df.fillna({'A': 0, 'C': 0}, inplace=True)
print(df)

输出:

     A    B   C
0  0.0  NaN   7
1  1.0  5.0   8
2  0.0  6.0   9
3  3.0  NaN  10
删除包含 NaN 的行

有时候我们需要将包含 NaN 数据的行删除。使用 Pandas 的 dropna() 函数,我们可以删除包含 NaN 值的行。以下是删除包含 NaN 行的示例代码:

df.dropna(inplace=True)
print(df)

输出:

     A    B  C
1  1.0  5.0  8
总结

在本文中,我们介绍了如何使用 Pandas 将 DataFrame 中的 NaN 替换为 0,以及如何删除包含 NaN 的行。这些操作可以让我们更好的处理数据,提高处理数据的效率。