📌  相关文章
📜  在 Pandas DataFrame 中计算 NaN 或缺失值(1)

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

在 Pandas DataFrame 中计算 NaN 或缺失值

在数据分析或机器学习中,数据往往有缺失值,需要处理后才能进行后续的分析。在 Pandas DataFrame 中,可以使用多种方法处理 NaN 或缺失值。

检查缺失值

使用 isna() 或 isnull() 方法检查 DataFrame 中的缺失值(NaN)。这些方法将返回一个布尔值的 DataFrame,说明每个元素是否为空。

import pandas as pd

df = pd.DataFrame({'a': [1, 2, None], 'b': [4, None, 6]})

print(df.isna())

输出:

       a      b
0  False  False
1  False   True
2   True  False

可以看到 DataFrame 中的每个元素都被标记为 True 或 False。

统计缺失值

使用 isna() 或 isnull() 方法的 sum() 可以统计 DataFrame 中每列的缺失值数量。

import pandas as pd

df = pd.DataFrame({'a': [1, 2, None], 'b': [4, None, 6]})

print(df.isna().sum())

输出:

a    1
b    1
dtype: int64

可以看到每列的缺失值数量,这可以提供数据清洗时的指导。

删除缺失值

使用 dropna() 方法删除 DataFrame 中包含空值的行或列。

import pandas as pd

df = pd.DataFrame({'a': [1, 2, None], 'b': [4, None, 6]})

print(df.dropna(axis=0))

输出:

     a    b
0  1.0  4.0

可以看到 DataFrame 中仅包含没有缺失值的行。

填充缺失值

使用 fillna() 方法可以填充 DataFrame 中的空值。

import pandas as pd

df = pd.DataFrame({'a': [1, 2, None], 'b': [4, None, 6]})

print(df.fillna(0))

输出:

     a    b
0  1.0  4.0
1  2.0  0.0
2  0.0  6.0

可以看到空值被填充为了 0。

替换缺失值

使用 replace() 方法可以将 NaN 替换为指定的值。

import pandas as pd
import numpy as np

df = pd.DataFrame({'a': [1, 2, None], 'b': [4, None, 6]})

df.replace([np.nan], [-1], inplace=True)

print(df)

输出:

     a    b
0  1.0  4.0
1  2.0 -1.0
2 -1.0  6.0

可以看到空值被替换为 -1。

以上就是在 Pandas DataFrame 中计算 NaN 或缺失值的方法,通过这些方法可以处理缺失值且继续进行数据分析。