我有一个 4 年的月度时间序列(索引是时间戳)。因此,理想情况下,我将有 4 个 jan 行、4 个 feb 行、4 个 mar 行、4 个 apr 行......等等。但是,有时,我可能会错过一个月或更长时间。因此,我可能有 1 月 4 日、2 月 2 日、3 月 3 日、4 月 4 日、5 月 1 日……等等我正在尝试重新采样('MS').count() 但这不起作用,因为它每个月都算作一个。我如何分组以获得正确的计数,例如;1 月 4 日、2 月 2 日、3 月 3 日、4 月 4 日、5 月 1 日……等等。然后取平均值?例如... jan 的计数是 4,因为我有 2 行与 Jan 日期。但是,Oct 的数量是 3 ......因为我有 3 排婴儿床。一月份平均销售的苹果为 13/4如果可能的话,我正在尝试通过重新采样来做到这一点,而不是通过循环或大熊猫切片。df_= df_monthly.resample('MS').count()Index Apples_sold1-1,2015 32-1,2015 53-1,2015 6...9-1,2015 710-1,2015 911-1,2015 612-1,2015 2==================1-1,2016 22-1,2016 53-1,2016 6...9-1,2016 710-1,2016 911-1,2016 612-1,2016 2==================1-1,2017 42-1,2017 53-1,2017 6...9-1,2017 710-1,2017 911-1,2017 612-1,2017 2==================1-1,2018 42-1,2018 53-1,2018 6...9-1,2018 7
2 回答

MM们
TA贡献1886条经验 获得超2个赞
我最终做了这样的事情:
对于 df.index.month.unique() 中的月份:
df_month_avg = df[df.index.month == month].mean(axis=0, numeric_only=True)
对于计数,我只是用 count() 替换了 mean()
这似乎有效……即使我的目标是使用重采样方法……但我找不到重采样分组键来执行此操作。
添加回答
举报
0/150
提交
取消