将每日数据转换为每周 Pandas

Converting daily data in to weekly in Pandas

我有一个如下所示的数据框:

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

我想将每天的数据转换成每周的数据,按解剖结构分组,方法是求和。 我尝试重新采样,但输出给出了多索引数据框,我无法从中访问 "Country" 和 "Date" 列(请参阅上文)

所需的输出如下:

Date   Country    Occurence
Week1  India      4
Week2  
Week1   US        2
Week2
Week5   Germany   5

您可以 groupby country 并在周

重新采样
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