【问题标题】:Display sum function value for only one category仅显示一个类别的总和函数值
【发布时间】:2020-01-20 05:17:58
【问题描述】:
data = {'Person': ['a','b','c','d','a','b','c','d','b','c'],
        'months':['Jan','Jan','Jan','Jan','Feb','Feb','Feb','Feb','March','March'],
        'income':[100,75,80,56,48,56,37,48,95,65]}
df = pd.DataFrame(data)

df.groupby(['Person'])['income'].sum()

输出:

Person  
a    148  
b    226  
c    182  
d    104  
Name: income, dtype: int64

但我只想显示a 的数据。我该怎么做?

【问题讨论】:

  • 你能举例说明你的预期输出吗? df.head(1) 不起作用吗?
  • df.groupby(['Person'])['income'].sum().loc['a'] ?

标签: python pandas dataframe


【解决方案1】:

如果您只需要a,为什么还要使用groupby

df.loc[df["Person"].eq("a"),"income"].sum()

#148

【讨论】:

    【解决方案2】:
    df[df['Person'] == 'a'].groupby(['Person'])['income'].sum()
    

    输出

    Person
    a    148
    Name: income, dtype: int64
    

    【讨论】:

      【解决方案3】:

      您不需要groupby,只需使用eqsum

      print(df.loc[df['Person'].eq('a'), 'income'].sum())
      

      输出:

      148
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-10
        • 1970-01-01
        相关资源
        最近更新 更多