【发布时间】:2018-11-15 01:54:11
【问题描述】:
我正在尝试创建一个按每年的星期几分组的报告。
我有一个看起来像这样的 df:
s1 s2 srd
dt
2004-02-04 11:21:00 2365.79 2372.37 -7.0
2004-02-05 10:15:00 2365.79 2368.03 -2.0
2004-02-17 06:43:00 2421.05 2425.26 -4.0
2004-02-17 12:43:00 2418.42 2420.53 -2.0
2004-02-17 12:44:00 2420.39 2420.53 -0.0
dt 索引是日期时间格式。
我正在寻找的是一个看起来像这样的数据框(我只需要 srd 列和要分组的函数可以是任何东西,例如 sum、count 等):
srd
dayOfWeek year
Mon 2004 10
2005 11
2006 8
2007 120
Tues 2004 105
2005 105
我已经尝试过 dayOfWeekDf = df.resample('B') ,但我得到一个看起来像是按周数分割的数据框。
我也试过df.groupby([df.index.weekday, df.index.year])['srd'].transform('sum'),但由于某种原因它甚至没有分组,因为我得到了以下信息(2 月 17 日出现了 3 次)。
srd
dt
2004-02-04 11:21:00 81.0
2004-02-05 10:15:00 203.0
2004-02-17 06:43:00 37.0
2004-02-17 12:43:00 37.0
2004-02-17 12:44:00 37.0
【问题讨论】:
标签: python-3.x pandas pandas-groupby