Python 熊猫:分组汇总行数
我想创建两个求和,一个条件是Python 熊猫:分组汇总行数,python,pandas,Python,Pandas,我想创建两个求和,一个条件是日期和类型,另一个条件是日期。以下是我的数据框架摘录: 0 1 2 3 date type 2003-01-01 unemp 1.733275e+09 2.067889e+09 3.279421e+0
日期
和类型
,另一个条件是日期
。以下是我的数据框架摘录:
0 1 2 3
date type
2003-01-01 unemp 1.733275e+09 2.067889e+09 3.279421e+09 3.223396e+09
2005-01-01 unemp 1.413758e+09 2.004171e+09 2.383106e+09 2.540857e+09
2007-01-01 unemp 1.287548e+09 1.462072e+09 2.831217e+09 3.528558e+09
2009-01-01 unemp 2.651480e+09 2.846055e+09 5.882084e+09 5.247459e+09
2011-01-01 unemp 2.257016e+09 4.121532e+09 4.961291e+09 5.330930e+09
2013-01-01 unemp 7.156784e+08 1.182770e+09 1.704251e+09 2.587171e+09
2003-01-01 emp 6.012397e+09 9.692455e+09 2.288822e+10 3.215460e+10
2005-01-01 emp 5.647393e+09 9.597211e+09 2.121828e+10 3.107219e+10
2007-01-01 emp 4.617047e+09 8.030113e+09 2.005203e+10 2.755665e+10
现在,我试过了
weightsDf.groupby(level=[0,1]).sum()
weightsDf.groupby(level=[0,1]).apply(lambda x: x.sum())
这些都是每列的总和,而不是所有列的总和。对于我想同时对类型
和日期
设置条件的情况,我可以简单地执行
weightsDf.sum(axis=1)
但是,如果我只想在date
上设置条件,该如何处理?与应用于数据帧时不同
weightsDf.groupby(level=[0,1]).sum(axis=1)
不接受参数
轴
。我可以取消第二级数据帧的堆叠,然后再次按行求和,但这似乎太复杂了。您可以先对列求和,然后分组:
weightsDf.sum(axis=1).groupby(level=[0,1]).sum()
首先对列求和,然后分组
weightsDf.sum(axis=1).groupby(level=[0,1]).sum()
这就是您要找的吗?