【发布时间】:2021-09-19 19:52:39
【问题描述】:
目前我正在做一个时间序列项目。 我有超过 5 年时间跨度的每日数据点。在这之间,有些天的值是 0,有些天不见了。 例如:
2015-01-10 343
2015-03-10 128
10 月的第 2 天不见了。 为了建立一个好的时间序列模型,我想将数据重新采样为每月:
df.individuals.resample("M").sum()
但我得到以下输出:
2015-01-31 343.000000
2015-02-28 NaN
2015-03-31 64.500000
不知何故,月份完全错误。
预期的输出如下所示:
2015-31-10 Sum of all days
2015-30-11 Sum of all days
2015-31-12 Sum of all days
【问题讨论】:
-
这没有错。没有 2015 年 2 月的数据,所以
mean是np.nan。每月重新采样resample("M")会为您提供月末日期。你想得到什么?提供您的预期输出。 -
您的意思是
df.individuals.resample("MS", loffset=pd.Timedelta(days=9)).mean()?此外,您可以添加.interpolate()来插入缺失的数据(docs)。 -
你好,我想得到绝对数的总和和平均值。但是你可以看到月份的总和是错误的(我在 excel 中仔细检查了它),而且我的数据从 2015 年 1 月 10 日(十月)开始,输出数据从 1 月开始。
标签: python pandas datetime time-series pandas-resample