pandas 如何在Panda中使用计数按2列分组?

jc3wubiy  于 2022-11-20  发布在  其他
关注(0)|答案(2)|浏览(422)

这是表格:
| 姓名:|日期:|
| - -|- -|
| 苹果公司|2022年10月4日|
| 苹果公司|2022年10月4日|
| 苹果公司|2022年10月4日|
| 橙子|2022年10月4日|
| 苹果公司|2022年10月6日|
| 苹果公司|2022年10月6日|
| 苹果公司|2022年10月6日|
我想按名称和日期分组,并添加一个名为“计数”的列。
我希望自己看起来像:
| 姓名:|日期:|计数:|
| - -|- -|- -|
| 苹果公司|2022年10月4日|三个|
| 橙子|2022年10月4日|一个|
| 苹果公司|2022年10月6日|三个|

pbpqsu0x

pbpqsu0x1#

一种方法是:

df.groupby(['NAME', 'DATE']).DATE.agg('count').to_frame('COUNTS').reset_index()

输出量:

NAME        DATE  COUNTS
0   apple  2022-10-04       3
1   apple  2022-10-06       3
2  orange  2022-10-04       1
dced5bon

dced5bon2#

另一种可能的解决方案:

df.value_counts(['NAME', 'DATE']).rename('COUNTS').reset_index()

输出量:

NAME        DATE  COUNTS
0   Apple  2022-10-04       3
1   Apple  2022-10-06       3
2  Orange  2022-10-04       1

相关问题