📌  相关文章
📜  将 pandas 列中的 nan 替换为 mode 并打印它 - Python (1)

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

将 pandas 列中的 nan 替换为 mode 并打印它 - Python

在数据清洗和处理中,有时会遇到 NaN(Not a Number)的值。NaN代表缺失值或未知值,需要进行替换或删除。

一种常见的处理NaN的方法是将其替换为列中的众数(mode)。这样做的好处是,众数是最常见的值,可以更好地代表数据分布。

在 Python 中,可以使用 Pandas 库来实现将 NaN 替换为 mode。具体实现如下:

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
   'A': [1, 2, 3, 4, 5],
   'B': [10, 20, 30, pd.np.nan, pd.np.nan],
})

# 找出每列的众数
mode = df.mode().iloc[0]

# 将 NaN 替换为众数
df = df.fillna(mode)

# 打印替换后的DataFrame
print(df)

这段代码中,我们首先创建了一个示例 DataFrame,其中的列 B 中有两个 NaN 值。

然后,使用 Pandas 的 mode() 函数找出了每列的众数,即列 A 中的 1 和列 B 中的 10。

接着,使用 fillna() 函数将 DataFrame 中的 NaN 值替换为众数。

最后,使用 print() 函数打印替换后的 DataFrame,输出结果如下:

   A     B
0  1  10.0
1  2  20.0
2  3  30.0
3  4  10.0
4  5  10.0

可以看到,原先的两个 NaN 值已被替换为 10,与列 B 的众数相同。

以上就是 Python 中将 pandas 列中的 NaN 替换为 mode 的方法。在实际数据处理中,应根据具体情况选择合适的处理方法。