分类特征的聚合函数 group_by
Aggregation function group_by for categorical features
在每日购买记录中,我想应用一个聚合函数来保留当天的 "most" 重要交易,并具有 ['Bananas', 'Apples', 'Coke', 'Lollipop', 'Chewing gum']
给出的任意顺序。
D T ITEM
1 3 Apples
1 5 Chewing gum
1 10 Lollipop
2 2 Bananas
2 3 Apples
2 1 Coke
期望的输出
D T ITEM
1 18 Apples
2 6 Bananas
有没有我可以在这里使用的 x 函数 ---
groupby['D'].agg({'T':'sum', 'ITEM':x)
?
您可以使用列表末尾的顺序将列 ITEM 转换为 Categorical,然后在 agg
中使用 min
,例如:
order = ['Bananas', 'Apples', 'Coke', 'Lollipop', 'Chewing gum']
print (df.assign(ITEM=lambda x: pd.Categorical(x['ITEM'],
categories=order,
ordered=True))
.groupby('D')
.agg({'T':'sum', 'ITEM':'min'}))
T ITEM
D
1 18 Apples
2 6 Bananas
在每日购买记录中,我想应用一个聚合函数来保留当天的 "most" 重要交易,并具有 ['Bananas', 'Apples', 'Coke', 'Lollipop', 'Chewing gum']
给出的任意顺序。
D T ITEM
1 3 Apples
1 5 Chewing gum
1 10 Lollipop
2 2 Bananas
2 3 Apples
2 1 Coke
期望的输出
D T ITEM
1 18 Apples
2 6 Bananas
有没有我可以在这里使用的 x 函数 ---
groupby['D'].agg({'T':'sum', 'ITEM':x)
?
您可以使用列表末尾的顺序将列 ITEM 转换为 Categorical,然后在 agg
中使用 min
,例如:
order = ['Bananas', 'Apples', 'Coke', 'Lollipop', 'Chewing gum']
print (df.assign(ITEM=lambda x: pd.Categorical(x['ITEM'],
categories=order,
ordered=True))
.groupby('D')
.agg({'T':'sum', 'ITEM':'min'}))
T ITEM
D
1 18 Apples
2 6 Bananas