迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Pandas DataFrame 的列中将所有 NaN 值替换为零

作者:迹忆客 最近更新:2024/04/23 浏览次数:

当我们处理大型数据集时,有时数据集中会有 NaN 值要用某个平均值或合适的值替换。例如,你有一个学生评分列表,有些学生没有参加测验,因此系统自动输入了 NaN 而不是 0.0。下面列出了完成此任务的不同方法。

  1. df.fillna()
  2. df.replace()

在以下各节中,我们将使用相同的 DataFrame,如下所示:

import pandas as pd
import numpy as np

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, np.nan, 95, np.nan],
}
df = pd.DataFrame(data)
print(df)

以下是等级为 NaNDataFrame

     name  percentage  grade
0  Oliver          90   88.0
1   Harry          99    NaN
2  George          50   95.0
3    Noah          65    NaN

df.fillna() 方法将所有 NaN 值替换为零

让我们借助 df.fillna() 方法替换 NaN 值。

import pandas as pd
import numpy as np

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, np.nan, 95, np.nan],
}
df = pd.DataFrame(data)
df = df.fillna(0)
print(df)

以下是将 NaN 替换为 0 的输出。

     name  percentage  grade
0  Oliver          90   88.0
1   Harry          99    0.0
2  George          50   95.0
3    Noah          65    0.0

df.fillna() 方法用给定值填充 NaN 值。它不会更改对象数据,但默认情况下会返回一个新的 DataFrame,除非将 inplace 参数设置为 True。

我们可以通过设置 inplace 参数为 True 来重写上述代码。

import pandas as pd
import numpy as np

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, np.nan, 95, np.nan],
}
df = pd.DataFrame(data)
df.fillna(0, inplace=True)
print(df)

df.replace() 方法

此方法与 df.fillna() 相同,将 NaN 替换为 0df.replace() 也可用于替换其他数字。让我们看一下代码。

import pandas as pd
import numpy as np

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, np.nan, 95, np.nan],
}
df = pd.DataFrame(data)
nan_replaced = df.replace(np.nan, 0)
print(nan_replaced)

以下是输出。

     name  percentage  grade
0  Oliver          90   88.0
1   Harry          99    0.0
2  George          50   95.0
3    Noah          65    0.0

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas 中的散点矩阵

发布时间:2024/04/23 浏览次数:105 分类:Python

本教程演示了如何使用 scatter_matrix 函数在 Pandas 中创建散点图。

Pandas 中的 GroupBy 应用

发布时间:2024/04/23 浏览次数:181 分类:Python

本文演示了什么是 GroupBy-Apply 行为以及如何在 Pandas 中按数据分组和应用函数。

如何从 Pandas 的日期时间列中提取月份和年份

发布时间:2024/04/23 浏览次数:124 分类:Python

我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。

Pandas 填充 NaN 值

发布时间:2024/04/23 浏览次数:186 分类:Python

本教程解释了我们如何使用 DataFrame.fillna()方法用指定的值填充 NaN 值。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便