ValueError:函数不会减少-对于多索引,但对于单索引工作正常

时间:2018-07-09 08:13:40

标签: python pandas pandas-groupby multi-index

我有一个熊猫数据框

import pandas as pd
df = pd.DataFrame({'c1': ['a', 'b', 'b'], 'c2': [1, 2, 2], 'c3': [[100], [200], [100]]})
df

那是

   c1  c2     c3
0   a   1  [100]
1   b   2  [200]
2   b   2  [100]

现在,当我在c3上进行分组后尝试连接列c1时,我得到了想要的结果

In [40]: df.groupby('c1').agg({'c3': 'sum'})
Out[40]:
        c3
c1
a        [100]
b   [200, 100]

但是,如果我尝试对c1c2进行分组,那就是

df.groupby(['c1', 'c2']).agg({'c3': 'sum'})

我收到一个错误,说ValueError: Function does not reduce。 为什么会这样?

1 个答案:

答案 0 :(得分:1)

在大熊猫0.23.1中,它运行良好,因此在较低版本的大熊猫中是个错误:

a =  df.groupby(['c1', 'c2']).agg({'c3': 'sum'})
print(a)
               c3
c1 c2            
a  1        [100]
b  2   [200, 100]