如何估算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 ()
为了填充缺失值,我们可以使用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 值