我有一个销售数据框
Date Store Company product Amount
1-1-18 A company_x A001 10
1-1-18 A company_y A002 20
1-1-18 A comapny_z A003 30
1-1-18 B comapny_x A001 40
1-1-18 B company_y A002 50
1-1-18 B company_z A003 60
2-1-18 A company_x A001 10
2-1-18 A company_y A002 20
2-1-18 A comapny_z A003 30
2-1-18 B comapny_x A001 40
2-1-18 B company_y A002 50
2-1-18 B company_z A003 60
2-1-18 A company_x A001 10
2-1-18 A company_y A002 20
2-1-18 A comapny_z A003 30
2-1-18 B comapny_x A001 40
2-1-18 B company_y A002 50
2-1-18 B company_z A003 60
2-1-18 A company_x A001 10
2-1-18 A company_y A002 20
2-1-18 A comapny_z A003 30
2-1-18 B comapny_x A001 40
2-1-18 B company_y A002 50
2-1-18 B company_z A003 60
3-1-18 A company_x A001 10
3-1-18 A company_y A002 20
3-1-18 A comapny_z A003 30
3-1-18 B comapny_x A001 40
3-1-18 B company_y A002 50
3-1-18 B company_z A003 60
我想按产品、公司和商店获得每个产品分组的销售订单的唯一计数
^{pr2}$我试过了
df.groupby(['Store','Company','Product'],as_index='False').agg({'product':'nunique'})
但python抛出了一个值错误,显然我不能使用同一列进行分组和聚合。在
我会很感激你帮我实现目标的
编辑:
我很感激你给我的回答,但这是我的错。实际上,我想找出这些产品销售的唯一天数。在
所以解决办法是,数据框groupby(['Store','Company','Product'],as_index='False').agg({'Date':'nunique'})
在索引}是索引中的最后一级。在
product
上使用nunique
聚合将为每个组返回1
,因为{使用聚合函数
'size'
,并将序列重命名为count
,如您的示例所示。然后是reset_index
,或者使用选项as_index=False
选择groupby。在groupby上的
count
将返回唯一行的所有计数,然后选择amount并重命名该列将执行此操作。在似乎有两个问题:
product
,而不是Product
。在len
。nunique
给出唯一值的数目。在下面是一个演示:
相关问题 更多 >
编程相关推荐