gpt4 book ai didi

python - 我如何按类别分组并按月计算总销售额 - pandas

转载 作者:行者123 更新时间:2023-12-05 08:36:56 27 4
gpt4 key购买 nike

我有以下数据框:

test = {'Date': ['2021-01-01', '2021-01-15', '2021-01-02', '2021-01-14', '2021-01-05', '2021-01-07'],
'Category': ['Fixed', 'Fixed', 'Mindful Spending', 'Mindful Spending', 'Subscription', 'Subscription'],
'Amount': ['5', '5', '5', '5', '5', '5']}
example = pd.DataFrame(test)
example

enter image description here

我的 Date 列数据类型是 datetime64[ns],使用 pd.to_datetime 转换。我想按 Category 分组并计算 Date 月份花费的总金额。我想要的结果是这样的:

test = {'Date': ['2021-01', '2021-01', '2021-01'], 
'Category': ['Fixed', 'Mindful Spending', 'Subscription'],
'Amount': ['10', '10', '10']}
result = pd.DataFrame(test)
result

enter image description here

我该怎么做?

感谢大家的帮助!

最佳答案

您可以使用 pd.Grouper 定义分组依据的月份。请注意,为此目的,日期列需要是您的索引。

test = {'Date': ['2021-01-01', '2021-01-15', '2021-01-02', '2021-01-14', '2021-01-05', '2021-01-07'],
'Category': ['Fixed', 'Fixed', 'Mindful Spending', 'Mindful Spending', 'Subscription', 'Subscription'],
'Amount': [5, 5, 5, 5, 5, 5]}
example = pd.DataFrame(test)
example.Date = pd.DatetimeIndex(example.Date)

example.set_index("Date").groupby([pd.Grouper(freq="M"), "Category"]).sum().reset_index()


Out[2]:
Date Category Amount
0 2021-01-31 Fixed 10
1 2021-01-31 Mindful Spending 10
2 2021-01-31 Subscription 10

关于python - 我如何按类别分组并按月计算总销售额 - pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67257140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com