原数据:
想要的结果:
sql实现逻辑:
select
大区,
count(distinct 用户编码) as 用户数,
count(distinct 订单编码) as 订单数,
sum(数量) as 数量,
sum(金额) as 金额
from order_table
group by 大区
我现在想到的是Python方法是分别计算,然后进行组合:
df1 = order_table.groupby('大区')['数量','金额'].sum()
df2 = order_table.groupby('大区')['用户编码','订单编码'].unique()
result = pd.merge( df1 , df2 ,how = 'left' ,on = '大区')
现在的问题Python有没有更简单的方法,直接用一个语句实现