我有一个4年每月的时间序列(索引是时间戳)。因此,理想情况下,我会有4个一月行,4个二月行,4个三月行,4个四月行。。。。等等。你知道吗
然而,有时,我可能会错过一个月或更多。因此,我可能有1月4日,2月2日,3月3日,4月4日,5月1日。。。等等
我正在尝试重新采样('MS').count(),但这不起作用,因为它将每个月计为一个月。如何分组以获得正确的计数,例如:1月4日、2月2日、3月3日、4月4日、5月1日。。。等等。然后取平均值?你知道吗
例如。。。1月的计数是4,因为我有2行1月的日期。然而,十月的计数是3。。。因为我有三排婴儿床。一月份苹果的平均销售量是13/4
我试着用重采样,而不是循环或切片,如果可能的话。你知道吗
df_= df_monthly.resample('MS').count()
Index Apples_sold
1-1,2015 3
2-1,2015 5
3-1,2015 6
...
9-1,2015 7
10-1,2015 9
11-1,2015 6
12-1,2015 2
==================
1-1,2016 2
2-1,2016 5
3-1,2016 6
...
9-1,2016 7
10-1,2016 9
11-1,2016 6
12-1,2016 2
==================
1-1,2017 4
2-1,2017 5
3-1,2017 6
...
9-1,2017 7
10-1,2017 9
11-1,2017 6
12-1,2017 2
==================
1-1,2018 4
2-1,2018 5
3-1,2018 6
...
9-1,2018 7
最后我做了这样的事情:
对于count,我只是将mean()替换为count()
这似乎奏效了。。。尽管我的目标是使用重采样方法。。。但我找不到重采样分组键来执行此操作。你知道吗
您可以在索引值上使用^{} 和正则表达式来提取月份。你知道吗
以下是我用作示例的数据帧:
以及要提取的代码:
输出:
你也可以用
sum()
来找出每个月苹果的销量,或者其他什么。你知道吗相关问题 更多 >
编程相关推荐