我有一个pandas数据框
col1 col2
40647 1433,1433,1433,1454,1454,1433
40648 1458,1458,1458,1458,67,67
40649 866,866,866,866,866,866
40650 798,798,798,798,798,798,798,798
我想只保留col2中的唯一条目,理想的结果是
col1 col2
40647 1433,1454
40648 1458,67
40649 866
40650 798
我如何实现这一目标?
答案 0 :(得分:1)
使用简单的样本:
col1 col2
0 40647 12, 25
1 40648 13, 25
2 40649 12,12
3 40650 12,12,12
你可以尝试:
df.loc[:, 'col2'] = df.loc[:, 'col2'].str.split(',').apply(lambda x: [i.strip() for i in x])
df.loc[:, 'col2'] = df.loc[:, 'col2'].apply(lambda x: list(set(x))]
并获取
col1 col2
0 40647 [12, 25]
1 40648 [13, 25]
2 40649 [12]
3 40650 [12]