我有一个以下形式的数据框:
code date count
AA 201205 1
AA 201309 2
AA 201310 12
AA 201410 7
BB 201305 3
BB 201309 1
CC 201404 5
日期是yyyymm。
我想按照“'代码”中的值对数据进行分组。对于过去6个月以及之前的所有时间,每个代码值的计数值和列的总和。所以新数据框看起来像:
code last 6 months before that
AA 7 15
BB 0 4
CC 5 0
关于实现这一目标的最佳方法的任何想法?
提前感谢您的帮助。
答案 0 :(得分:2)
也许:
>>> gr = df.groupby(['code', df['date'] > 201403])
>>> pv = gr['count'].sum().unstack().fillna(0)
>>> namer = {True:'last 6 months', False:'before that'}.get
>>> pv.columns = list(map(namer, pv.columns))
>>> pv
before that last 6 months
code
AA 15 7
BB 4 0
CC 0 5