Skip to main content
 首页 » 编程设计

python之计算 pandas 数据框中的所有类别并添加它们的值

2025年05月04日14lovecherry

我有一个看起来像这样的数据框:

           Dog_breed       Dog_name             Points  
      ============================================================ 
Monday        Pug            George               12 
Tuesday       Poodle         Fido                -15 
Wednesday     Pug            Buddy                 8 
Thursday      Dachshund      Lyla                -10 
Friday        Poodle         Remi                  9 
Saturday      Pug            Kermit               -5 
Sunday        Beagle         Sara                  3 

对于每个品种的狗(即类别),我需要得到点的总和——对于某些行,它是正的,而对于某些行,它是负的——以及该品种的狗的数量。

目标是将每个品种的所有点相加,计算每个品种在原始数据集中出现的次数,最后得到如下所示的数据框:

             Quantity     Overall_point_change 
          ============================================ 
Pug             3                  15 
Poodle          2                  -6 
Dachshund       1                 -10 
Beagle          1                   3 

pandas 可以做到这一点,还是需要一个循环?真的很难解决这个问题 - 谁能推荐一种设置方法?

请您参考如下方法:

您正在寻找 pandas' groupby .

df.groupby('Dog_breed').agg(['count', 'sum']) 

阅读以下内容以获得更深入的理解:http://pandas.pydata.org/pandas-docs/stable/groupby.html