熊猫-GroupBy申请(groupby.sum)

时间:2019-07-25 09:28:27

标签: python pandas

我正在尝试将任何函数传递给Pandas DataFrame.GroupBy对象,以便能够将任何预定义的函数指针应用于DataFrame对象。但是,当我这样做时,行为似乎会改变。

group_test.groupby(groupby_indexes).sum()

产生的结果与

不同
group_test.groupby(groupby_indexes).apply(sum)

前一种解决方案是添加GroupedBy变量的列,并且不能正确地对这些列求和。 另一方面,对于Python的sum和Panda的DataFrame.sum,以下内容似乎无效,因为会产生错误:

fun = Pandas.core.groupby.GroupBy.sum
group_test.groupby(groupby_indexes).apply(fun)

一个示例,第一个选项的输出(期望和正确):

                        a   b   c
name             week           
Test             4      1   1   1
                 6      1   0   0
                 7      2   2   2
                 16     1   1   1
                 18     2   2   2
                 20     1   1   1

以及使用apply函数的输出(不正确):

                        name       week    a    b   c
name         week                   
test         0      test test       0      2    1   1
             1      test            1      1    1   1
             2      test            2      1    0   0
             3.0    test            3      1    1   1
             4.0    test test       8      2    0   0
             5.0    test test test  15     3    1   1
             6.0    test            6      1    1   1
             7.0    test            7      1    0   0
             8.0    test test      16      2    0   0
             9.0    test           9       1    0   0
             11.0   test test      22      2    0   0
             12.0   test           12      1    1   1
             13.0   test           13      1    1   1
             15.0   test           15      1    0   0
             16.0   test           16      1    1   1
             17.0   test           17      1    1   1
             18.0   test           18      1    1   1

我找到了解决方案,请使用Pandas.Core.GroupBy.Agg

0 个答案:

没有答案