使用Python进行分析的新手,所以请保持温柔:-)我找不到这个问题的答案 - 道歉是否已经以不同的格式在其他地方回答。

我有一个用于零售商店的交易数据数据集。变量以及解释是:

  • 部分:商店的部分,str;
  • prod_name:产品的名称,a str;
  • 收据:发票的数量,int;
  • 收银员,收银员的数量,国际因素;
  • 费用:物品的成本,浮标;
  • 日期,格式mm/dd/yy,a str;
  • 时间,格式HH:mm:ss,a str;

收据具有单一交易中购买的所有产品的相同值,因此可以使用单个交易中的平均购买数量。

最好的方法是什么?我本质上想使用 groupby() 通过其自身相同的事件将收据变量分组,以便我可以创建直方图。

在PANDAS数据框架中使用数据。

编辑:

这是一些带有标头的示例数据(prod_name实际上是十六进制号):

 section,prod_name,receipt,cashier,cost,date,time 
 electronics,b46f23e7,102856,5,70.50,05/20/15,9:08:20 
 womenswear,74558d0d,102857,8,20.00,05/20/15,9:12:46 
 womenswear,031f36b7,102857,8,30.00,05/20/15,9:12:47 
 menswear,1d52cd9d,102858,3,65.00,05/20/15,9:08:20 

从此样本集中,我期望收据直方图显示了两次收据102857的出现(因为该人在一笔交易中分别购买了两项)和一个收据102856和收据102858。 100万行。

有帮助吗?

解决方案

从此样本集中,我期望收据直方图显示了两次收据102857的出现(因为该人以一笔交易购买了两项)和一个收据102856和收据102858的发生。

然后您想要:

df.groupby('receipt')。receipt.count()

receipt
102856    1
102857    2
102858    1
Name: receipt, dtype: int64

其他提示

我正在围绕数据纠缠的一些教程。也许是我的 Jupyter笔记本 在Github上会有所帮助。我认为这是关键正在修改行:

df.groupby('male')['age'].mean()

成为:

df.groupby('reciept')['prod_name'].count()

通过多个变量进行分组,这应该有效:

df.groupby(['reciept','date'])['reciept'].count()
许可以下: CC-BY-SA归因
scroll top