📜  pandas 将 null 替换为 0 - Python (1)

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

Pandas 将 Null 替换为 0 - Python

在数据分析和数据科学过程中,我们经常面临的一个问题就是在数据集合中找到缺失值,也称为 null 或 NaN。Pandas是一个常用的 Python 数据科学库,提供了处理缺失值的方法,其中一种常见的方法是将缺失值替换为 0。

使用 fillna() 函数替换为 0

Pandas 中的 fillna() 函数可以用来将缺失值替换为特定的值。可以将缺失值替换为 0,如下所示:

import pandas as pd

# 创建一个包含缺失值的数据帧
df = pd.DataFrame({'A': [1, 2, None, 4, 5], 'B': [6, None, 8, None, 10]})

# 将缺失值替换为 0
df.fillna(0, inplace=True)

上述代码将缺失值替换为 0,并将更改应用于原始数据帧。

替换特定的列

如果要替换数据帧中的特定列中的缺失值,可以在 fillna() 函数中指定列名称,如下所示:

# 创建一个包含缺失值的数据帧
df = pd.DataFrame({'A': [1, 2, None, 4, 5], 'B': [6, None, 8, None, 10]})

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

上述代码将列 B 中的缺失值替换为 0。

替换具有多个条件的缺失值

有时候,数据集合中具有多个条件的缺失值需要被替换。为此,我们可以使用 loc() 函数和 apply() 函数来实现,如下所示:

# 创建一个包含缺失值的数据帧
df = pd.DataFrame({'A': [1, 2, None, 4, 5], 'B': [6, None, 8, None, 10]})

# 将列 A 中大于等于 2 且列 B 中小于等于 8 的缺失值替换为 0
df.loc[(df['A'] >= 2) & (df['B'] <= 8), ['A', 'B']].apply(lambda x: x.fillna(0), inplace=True)

上述代码将列 A 中大于等于 2 且列 B 中小于等于 8 的缺失值替换为 0。

以上就是使用 Pandas 将缺失值替换为 0 的方法。Pandas 还提供了许多其他处理缺失值的方法,可以根据自己的需求进行选择和使用。