【发布时间】:2021-04-05 21:25:20
【问题描述】:
假设我有一个时间序列,其中我通常有某个连续年份的可用数据,但在该跨度之前和之后缺少值,如下所示:
df = pd.DataFrame({'year': ["2000","2001","2002", "2003","2004", "2005","2006", "2007"], 'cakes eaten': [np.nan, np.nan, np.nan, 3, 4, 5, np.nan, np.nan]})
print(df)
year cakes eaten
0 2000 NaN
1 2001 NaN
2 2002 NaN
3 2003 3.0
4 2004 4.0
5 2005 5.0
6 2006 NaN
7 2007 NaN
有没有办法根据可用值中看到的趋势来填充(给定数量的)缺失值?
假设我想在每个方向上最多填充 2 个值,结果应该是这样的:
year cakes eaten
0 2000 NaN
1 2001 1.0
2 2002 2.0
3 2003 3.0
4 2004 4.0
5 2005 5.0
6 2006 6.0
7 2007 7.0
另外: 有没有办法确保只有在有足够的可用值时才执行此插补,例如,如果有,我只想在每个方向上最多填充 2 个值至少有 3 个值可用(或者更笼统地说,只有当 n + m 可用时才填写 n)?
【问题讨论】:
-
您将如何识别可用值中的趋势?
标签: python pandas imputation