python-2.7 - 将 Pandas 中的每日数据转换为每周数据

标签 python-2.7 pandas group-by aggregate-functions resampling

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

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/

相关文章:

python - 如何在 Python/Tkinter 中使用浏览按钮显示文件路径

python-2.7 - Pandas 0.18.1 groupby 和重采样多级聚合错误

python - Pandas:通过按日期过滤来访问行

python - 如何让 np.where 接受更多参数,以便它过滤 >、< 和 =;不仅仅是 > 和 <?

c# - 在 C# 中使用 LINQ 获取 List<T> 中不同属性值的数量

Python - 用于选择性内存记录的临时记录器

python - 如何使用 pefile 从 PE 文件中获取 .text 部分

python - 对于从 0 到数据帧长度(负 1)的所有 n,如何获得距离为 n 的每对行之间的最小比率?

r - 在R中按组查找最长的值序列

mysql分组性能调优