📅  最后修改于: 2023-12-03 14:53:44.415000             🧑  作者: Mango
在 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
使用 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。
有时候我们仅需要将 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 数据的行删除。使用 Pandas 的 dropna()
函数,我们可以删除包含 NaN 值的行。以下是删除包含 NaN 行的示例代码:
df.dropna(inplace=True)
print(df)
输出:
A B C
1 1.0 5.0 8
在本文中,我们介绍了如何使用 Pandas 将 DataFrame 中的 NaN 替换为 0,以及如何删除包含 NaN 的行。这些操作可以让我们更好的处理数据,提高处理数据的效率。