Using:
df=pd.DataFrame([['group_A','buy',100,123],['group_A','view',0,111],['group_B','view',0,222],['group_A','view',0,222]],columns=['group','type','amount','number'])
首先对指数求和并定向:
>>> df = df.groupby(['type','group']).sum().transpose().stack(0).reset_index()
>>> df
group level_0 type group_A group_B
0 amount buy 100 NaN
1 amount view 0 0
2 number buy 123 NaN
3 number view 333 222
删除全为零的行:
df = df[~((df['group_A']==0) | (df['group_B']==0))]
菲尔娜的:
>>> df.fillna(0)
group level_0 type group_A group_B
0 amount buy 100 0
2 number buy 123 0
3 number view 333 222
这里的一些地方有点猜测,但它应该给你一个开始。