我必须对不包含任何SmallSeller
产品(SellCategory)的交易(发票编号)进行分组,我不确定如何进行。
我最终将不得不比较两种交易(包含Quantity*UnitPrice
产品的交易和不包含任何SmallSeller
产品的交易)产生的收入(SmallSeller
)。< / p>
(这是我的数据的一个示例)
InvoiceNo SellCategory Revenue
23 Medium-Seller 54
23 Best-Seller 108
23 Best-Seller 71
24 Medium-Seller 43
24 Small-Seller 18
25 Best-Seller 89
25 Small-Seller 23
26 Medium-Seller 65
26 Best-Seller 98
26 Small-Seller 23
答案 0 :(得分:0)
您可以按照以下方式进行分组,然后继续进行进一步的操作:
df[df.SellCategory != 'Small-Seller'].groupby('InvoiceNo')
答案 1 :(得分:0)
df_pivot=df.pivot_table(index='InvoiceNo',columns='SellCategory',values='Revenue',aggfunc='sum').reset_index()
答案 2 :(得分:0)
首先,我们可以选择相关的行,然后在Revenue
上使用groupby聚合InvoiceNo
。
最后,我们最后将两种数据帧连接起来,并重命名列:
df1 = pd.concat([df[df['SellCategory'] == 'Small-Seller'].groupby('InvoiceNo').sum(), df[df['SellCategory'] == 'Small-Seller'].groupby('InvoiceNo').sum()], 1)
df1.columns = ['Revenue_Small_Seller', 'Revenue_without_Small_Seller']