在 Pandas 中将每日数据转换为每周数据

Posted

技术标签:

【中文标题】在 Pandas 中将每日数据转换为每周数据【英文标题】:Converting daily data in to weekly in Pandas 【发布时间】:2016-01-29 05:03:25 【问题描述】:

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

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

我想将每日数据转换为每周数据,按解剖结构分组,方法是求和。 Itried 重新采样,但输出给出了多索引数据框,我无法从中访问“国家”和“日期”列(请参阅上文)

所需的输出如下:

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

【问题讨论】:

贴一些代码总是好的 :) 是的,肯定会那样做... :) 【参考方案1】:

您可以在countrygroupby 并在一周内重新采样

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

【讨论】:

如前所述,我尝试对每周数据进行重新采样,输出结果与上述类似。但是我如何访问“国家”和“日期”列,因为这是一个多索引数据框。我尝试 droplevel(0) 删除第一级,但没有奏效。那么,有没有其他方法可以让我在同一级别获得“日期”、“国家”、“发生” reset_index()检查更新的解决方案,可行吗?

以上是关于在 Pandas 中将每日数据转换为每周数据的主要内容,如果未能解决你的问题,请参考以下文章

通过 Python 中的 pandas 将每日库存数据转换为每周

在 zeppelin 中将 pandas 数据帧转换为 spark 数据帧

在 Pyspark 中将 Pandas 数据帧转换为 Spark 数据帧的 TypeError

如何在 Pandas 数据框中将日期转换为 ISO-8601 DateTime 格式

如何在 ipython 中将 Spark RDD 转换为 pandas 数据帧?

如何在 ipython 中将 Spark RDD 转换为 pandas 数据帧?