汇总一组groupby对象的值?

时间:2013-10-18 01:14:56

标签: python pandas

我正在尝试为每个我分组的条目总结groupby对象中的列的值。

说我有这样的df:

Letters Numbers Items Bool
A       1       lamp  1
B       2       glass 1
B       2       table 1
C       5       pic   0

我用字母组合,然后想知道字母组中bool的总和。我该怎么做?我一直在尝试

df_new = df.groupby('letters').bool.sum()

...

df_new = df.groupby('letters').sum('bool')

和其他变化...

最后,我想得到一个包含每个字母组总和值的向量。对于前者,它将是[1,2,0]

1 个答案:

答案 0 :(得分:3)

你真的很亲密!给定

>>> df
  Letters  Numbers  Items  Bool
0       A        1   lamp     1
1       B        2  glass     1
2       B        2  table     1
3       C        5    pic     0

您可以对所有内容求和并获取所需的列:

>>> # slower
>>> df.groupby("Letters").sum()["Bool"] # sum everything, select Bool
Letters
A          1
B          2
C          0
Name: Bool, dtype: int64

或者更好的是,只选择你想要的列并加以总结:

>>> df.groupby("Letters")["Bool"].sum() # select Bool, sum it
Letters
A          1
B          2
C          0
Name: Bool, dtype: int64

我更喜欢坚持使用Series,因为您可以使用list,但如果您愿意,可以使用list.tolist()将其转换为{{1}}