python - 对 groupby 对象的一组值求和?

标签 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]

最佳答案

你们真的很接近!鉴于

>>> 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()

关于python - 对 groupby 对象的一组值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19439989/

相关文章:

python - 使用 python 中的 boto 将内容从一个路径递归复制到另一个 s3 存储桶

python - 转换具有 numpy 数组的列将其转换为以 dtype 作为对象的 numpy 数组

python - 如何用 Pandas 读取csv中的特定行号

python - 使用 Start_Date 和 End_Date 绘制 Pandas Dataframe 的计数

python - 使用 pandas 中的值重新采样 2d 坐标

android - 从 Android 上的 Kivy 应用程序发送带附件的电子邮件,最好通过打开电子邮件客户端

python - Pandas - 将列拆分为行,同时保留索引

python - matplotlib选择图像的框区域然后放大

python - 查找创建内容超过 500 条的内容用户创建总数,Python

python - 如何打印使用类实现的树数据结构?