【发布时间】:2021-11-19 07:40:59
【问题描述】:
我想在 pandas groupby lambda 函数中连接字符串值,但是在保持字符串顺序的同时,解决方案使用 set 函数,该函数在传入多个值时不保留顺序。
df = df.sort_values(
['id', 'order_column']
).groupby('id').agg(
{
'channel': lambda x: ' > '.join(set(x)),
'value': np.sum
}
)
如何在保持传递给序列的值顺序的同时做到这一点?在我的例子中,数据是
1 Email
2 Affiliate
3 Organic Search
4 Email
5 Branded Social
6 Direct
7 Branded Social
8 Direct
9 Branded Social
10 Email
11 Affiliate
12 Email
13 Direct
14 Email
15 Direct
16 Email
17 Branded Social
18 Direct
19 Branded Social
我得到了什么:'Affiliate > Email > Organic Search > Branded Social > Direct'
我的期望'Email > Affiliate > Organic Search > Branded Social > Direct'
【问题讨论】:
标签: python pandas string lambda pandas-groupby