我有一个数据框,如下所示:
Index Date Country Occurence
0 2013-12-30 US 1
1 2013-12-30 India 3
2 2014-01-10 US 1
3 2014-01-15 India 1
4 2014-02-05 UK 5
我想将每日数据转换为每周数据,按解剖分组,方法为求和。 我尝试重新采样,但输出给出了多索引数据帧,我无法从中访问“国家/地区”和“日期”列(请参阅上面)
所需的输出如下:
Date Country Occurence
Week1 India 4
Week2
Week1 US 2
Week2
Week5 Germany 5
最佳答案
您可以按国家/地区
进行分组
并按周重新采样
In [63]: df
Out[63]:
Date Country Occurence
0 2013-12-30 US 1
1 2013-12-30 India 3
2 2014-01-10 US 1
3 2014-01-15 India 1
4 2014-02-05 UK 5
In [64]: df.set_index('Date').groupby('Country').resample('W', how='sum')
Out[64]:
Occurence
Country Date
India 2014-01-05 3
2014-01-12 NaN
2014-01-19 1
UK 2014-02-09 5
US 2014-01-05 1
2014-01-12 1
并且,您可以使用reset_index()
In [65]: df.set_index('Date').groupby('Country').resample('W', how='sum').reset_index()
Out[65]:
Country Date Occurence
0 India 2014-01-05 3
1 India 2014-01-12 NaN
2 India 2014-01-19 1
3 UK 2014-02-09 5
4 US 2014-01-05 1
5 US 2014-01-12 1
关于python-2.7 - 将 Pandas 中的每日数据转换为每周数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33407725/