如何估算pandas中的缺失值(包括示例)


您可以使用以下基本语法来估算 pandas DataFrame 中的缺失值:

 df[' column_name '] = df[' column_name ']. interpolate ()

以下示例展示了如何在实践中使用此语法。

示例:在 Pandas 中插入缺失值

假设我们有以下 pandas DataFrame,显示商店连续 15 天的总销售额:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                   ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan,
                             np.nan, 35, 39, 44, 49]})

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 NaN
8 9 NaN
9 10 NaN
10 11 NaN
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

请注意,我们在数据框中缺少四天的销售数据。

如果我们创建一个简单的折线图来可视化一段时间内的销售情况,它会是这样的:

 #create line chart to visualize sales
df[' sales ']. plot ()

估算 pandas 中的缺失值

为了填充缺失值,我们可以使用interpolate()函数,如下所示:

 #interpolate missing values in 'sales' column
df[' sales '] = df[' sales ']. interpolate ()

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 23.0
8 9 26.0
9 10 29.0
10 11 32.0
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

请注意,每个缺失值都已被替换。

如果我们创建另一个折线图来可视化更新后的数据框,它会是这样的:

 #create line chart to visualize sales
df[' sales ']. plot ()

请注意, interpolate()函数选择的值似乎与数据的趋势相当匹配。

注意:您可以在此处找到interpolate()函数的完整文档。

其他资源

以下教程提供了有关如何处理 pandas 中缺失值的更多信息:

如何统计pandas中的缺失值
如何在 Pandas 中用字符串替换 NaN 值
如何在 Pandas 中用零替换 NaN 值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注