【发布时间】:2020-06-23 10:02:02
【问题描述】:
我想在维护订单时从列中的列表中删除重复的对:
例如输入是:
cola. colb
1. [sitea,siteb,sitea,siteb;sitec,sited,sitec,sited]
预期的输出是每个 ';' 之前的唯一元素符号
cola. colb
1. [sitea,siteb;sitec,sited]
我尝试根据 ; 拆分列符号并为列表创建一个集合,但它不起作用。
df['test'] = df.e2etrail.str.split(';').map(lambda x : ','.join(sorted(set(x),key=x.index)))
我也尝试了以下
df['test'] = df['e2etrail'].apply(lambda x: list(pd.unique(x)))
关于如何使它工作的任何想法
【问题讨论】:
-
colb 中的内容是一个字符串列表还是一个字符串?如果它是一个字符串列表,是否可以安全地假设
;也是一个字符串并且逗号是唯一的分隔符?
标签: python pandas duplicates