gpt4 book ai didi

python - Pandas groupby date month 并在几个月内计算项目

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:52 25 4
gpt4 key购买 nike

我有一个这样的数据框:

STYLE | INVOICE_DATE2
A | 2017-01-03
B | 2017-01-03
C | 2017-01-03
A | 2017-02-03
A | 2017-01-03
B | 2017-02-03
B | 2017-01-03

我正在尝试按月对它们进行分组并在月内对其进行计数,结果必须如下所示:

Month | Item | Count
1 | A | 2
| B | 2
| C | 1
2 | A | 1
| B | 1

我试过这个:

lastyear_df.groupby([(df['INVOICE_DATE2']).dt.month, df['STYLE']])['STYLE'].count()

但它对我不起作用。

最佳答案

这是一条单线...

ans = df.groupby([df.INVOICE_DATE2.apply(lambda x: x.month), 'STYLE']).count()

这是输出

In [21]: ans
Out[21]:
INVOICE_DATE2
INVOICE_DATE2 STYLE
1 A 2
B 2
C 1
2 A 1
B 1

注意:此时您有一个分层索引,您可以使用 reset_index

将其展平
ans = ans.reset_index(1)
STYLE INVOICE_DATE2
INVOICE_DATE2
1 A 2
1 B 2
1 C 1
2 A 1
2 B 1

您现在可以根据需要更改列名和索引名:

ans.index.name = 'MONTH'
ans.columns = ['ITEM', 'COUNT']

关于python - Pandas groupby date month 并在几个月内计算项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47435240/

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