首页 > 解决方案 > 根据行对列求和。例如,基于行 'male' 和 'female' 的 sum 列自杀_no

问题描述

我正在尝试使用世界卫生组织关于自杀率的数据集进行调查。数据集有列“性别”,行“男性”和“女性”。但是,没有“两者”这一行。因此,任务是根据“女性”和“男性”行对“suicides_no”中的数据求和。例如,仅对年份的女性和男性行求和。

示例输入:

       date     sex  suicides_no
31332  1985  female        296.0
31338  1985    male        678.0

示例输出:

       date   sex    suicides_no
31332  1985  both        974

或者

       date     suicides_no
31332  1985         974

标签: pythonpandasnumpyseaborn

解决方案


试试这个:

df = df.groupby(by=['date'], as_index=False).sum()
print(df)

   date  suicides_no
0  1985        974.0

或这个:

df = df.groupby(by=['date'], as_index=False).agg({'sex': lambda x: 'both', 'suicides_no': sum})
print(df)

   date   sex  suicides_no
0  1985  both        974.0

推荐阅读