agg
具有dict
功能
创建一个
dict函数并将其传递给
agg。您还需要
as_index=False防止组列成为输出中的索引。
f = {'NET_AMT': 'sum', 'QTY_SOLD': 'sum', 'UPC_DSC': 'first'}df.groupby(['month', 'UPC_ID'], as_index=False).agg(f) month UPC_ID UPC_DSC NET_AMT QTY_SOLD0 2017.02 111 desc1 10 21 2017.02 222 desc2 15 32 2017.02 333 desc3 4 13 2017.03 111 desc1 25 5毯 sum
只需调用
sum而无需任何列名。这将处理数字列。对于
UPC_DSC,您需要单独处理。
g = df.groupby(['month', 'UPC_ID'])i = g.sum()j = g[['UPC_DSC']].first()pd.concat([i, j], 1).reset_index() month UPC_ID QTY_SOLD NET_AMT UPC_DSC0 2017.02 111 2 10 desc11 2017.02 222 3 15 desc22 2017.02 333 1 4 desc33 2017.03 111 5 25 desc1



