【问题标题】:Sum multiple columns using group by including date (Python Query )使用包含日期的分组对多列求和(Python 查询)
【发布时间】:2023-02-21 23:59:45
【问题描述】:

您好,我正在尝试将日期和类别组合在一起以计算付费金额和操作系统金额的总和,但我得到的答案不正确。

我尝试了各种方法但遇到了问题。

预期输出:

【问题讨论】:

  • 你已经尝试了什么?你有什么问题?向我们展示您的代码,以及输出如何出乎您的意料
  • @FlorentMonin df1 = df.groupby(['Category 1', 'Date 1','Date 2'])['Paid','OS'].sum() 。输出只有 PAid 和 OS 没有别的

标签: python group-by sum


【解决方案1】:

当您使用 groupby 时,您作为分组依据的列包含在输出中,但作为列:

df.groupby(['Category 1', 'Date 1','Date 2'])[['Paid','OS']].sum()

会返回这样的东西:

Paid OS
Category 1 Date 1 Date 2
Engineering 31/03/2005 31/12/2022 521 4754
31/12/2005 31/03/2022 2 5
Marine 31/03/2003 31/12/2021 23 9
31/12/2021 31/03/2022 2 5

所以,为了得到(我假设)你想要的,你可以在groupby中使用as_index=False

df.groupby(['Category 1', 'Date 1','Date 2'], as_index=False)[['Paid','OS']].sum()
Category 1 Date 1 Date 2 Paid OS
0 Engineering 31/03/2005 31/12/2022 521 4754
1 Engineering 31/12/2005 31/03/2022 2 5
2  Marine 31/03/2003 31/12/2021 23 9
3  Marine 31/12/2021 31/03/2022 2 5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2011-08-11
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    相关资源
    最近更新 更多