Pandas:按组汇总行数

2024-04-25 09:44:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建两个求和,一个是以datetype为条件的,一个是仅以date为条件的。以下是我的数据框架摘录:

                             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

现在,我试过了

^{pr2}$

这些都给了我每列的总和,而不是所有列的总和。对于我想同时满足type和{}的情况,我可以简单地

weightsDf.sum(axis=1)

但是如果我只想对date设置条件,我该如何处理呢?与应用于数据帧时不同

weightsDf.groupby(level=[0,1]).sum(axis=1)

不接受参数axis。I可以取消第二级数据帧的堆栈,然后再按行求和,但这似乎太复杂了。在


Tags: 数据框架datetype情况条件levelsum