Python,将数据框中的每日数据汇总为每月和每季度

标签 python pandas

我已经将我的数据加载到 Pandas 数据框中。

例子:

Date        Price
2012/12/02  141.25
2012/12/05  132.64
2012/12/06  132.11
2012/12/21  141.64                                                     
2012/12/25  143.19  
2012/12/31  139.66  
2013/01/05  145.11  
2013/01/06  145.99  
2013/01/07  145.97
2013/01/11  145.11  
2013/01/12  145.99  
2013/01/24  145.97
2013/02/23  145.11  
2013/03/24  145.99  
2013/03/28  145.97
2013/04/28  145.97
2013/05/24  145.97
2013/06/23  145.11  
2013/07/24  145.99  
2013/08/28  145.97
2013/09/28  145.97

只有两列,一列是数据,一列是价格。

现在如何对从 2013 年开始到月度和季度 df 的数据进行分组或重采样?

每月:

Date        Price
2013/01/01  Monthly total
2013/02/01  Monthly total
2013/03/01  Monthly total
2013/04/01  Monthly total
2013/05/01  Monthly total
2013/06/01  Monthly total
2013/07/01  Monthly total
2013/08/01  Monthly total  
2013/09/01  Monthly total

每季度:

Date        Price
2013/01/01  Quarterly total
2013/04/01  Quarterly total
2013/07/01  Quarterly total

请注意,每月和每季度的数据需要从每月的第一天开始,但在原始数据框中缺少每月的第一天数据,每个月的有效每日数据数量可能会有所不同。原始数据框也有 2012 年到 2013 年的数据,我只需要 2013 年初的月度和季度数据。

我试过类似的东西

result1 = df.groupby([lambda x: x.year, lambda x: x.month], axis=1).sum()

但不起作用。

谢谢!

最佳答案

首先将您的日期列转换为日期时间索引:

df.Date = pd.to_datetime(df.Date)
df.set_index('Date', inplace=True)

然后使用重采样。偏移别名列表在 pandas documentation 中.对于月初重新采样,使用 MS,对季度使用 QS:

df.resample('QS').sum()
Out[46]: 
              Price
Date               
2012-10-01   830.49
2013-01-01  1311.21
2013-04-01   437.05
2013-07-01   437.93

df.resample('MS').sum()
Out[47]: 
             Price
Date              
2012-12-01  830.49
2013-01-01  874.14
2013-02-01  145.11
2013-03-01  291.96
2013-04-01  145.97
2013-05-01  145.97
2013-06-01  145.11
2013-07-01  145.99
2013-08-01  145.97
2013-09-01  145.97

关于Python,将数据框中的每日数据汇总为每月和每季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40554396/

相关文章:

python - Pandas 按分类间隔过滤

python - 使用 Python 将数据框内容(有效地)复制到另一个数据框内

python - 设置 matplotlib 视频动画大小 (1920x1080)

python - 分开物体并将它们成对

python - 在类属性更改时调用 Python 方法

python - 在 Windows 上成功 shutil.rmtree 后,os.mkdir 可能会因 PermissionError 而失败

python - 在另一列的列表中查找 pandas 数据框列的最接近元素

python - 初始化带索引和不带索引的 pandas 数据框,列会产生不同的结果

python - Pandas 0.24 替换正则表达式问题

jquery - 使用 Jsrender 迭代嵌套的 json 模型