我必须对不包含任何SmallSeller产品 (SellCategory)的交易 (InvoiceNo) 进行分组,但我不确定如何进行。我最终必须比较Quantity*UnitPrice两种类型的交易(包含SmallSeller产品的交易与不包含任何SmallSeller产品的交易)产生的收入 ( )。(这是我的数据示例) 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
3 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
首先,我们可以选择相关行,然后Revenue使用 groupby on进行聚合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']
FFIVE
TA贡献1797条经验 获得超6个赞
您可以通过以下方式进行分组,然后进行进一步的操作:
df[df.SellCategory != 'Small-Seller'].groupby('InvoiceNo')
倚天杖
TA贡献1828条经验 获得超3个赞
df_pivot=df.pivot_table(index='InvoiceNo',columns='SellCategory',values='Revenue',aggfunc='sum').reset_index()
添加回答
举报
0/150
提交
取消