Skip to main content
 首页 » 编程设计

python之从 Pandas Dataframe 中的列表中删除重复值

2024年08月12日38zhengyun_ustc

我的数据框中有一列,它是一个包含行值的列表。 有什么方法可以让这些列表中具有唯一值的相同列也排序。

这是我的数据框列。

ListProds 
['YIZ12FF-A', 'YIZ12FF-A', 'YIIE2FF-A', 'YIR72FF-A', 'YIR72FF-A', 'YIR72FF-A'] 
['HYY32ZY-A', 'HYY32ZY-A'] 
['YI742FF-A', 'YI742FF-A', 'YI742FF-A', 'YI742FF-A'] 
['YI762FF-A', 'YI762FF-A', 'YI762FF-A', 'YI762FF-A', 'YI762FF-A', 'YI762FF-A', 'YI6E2FF-A', 'YI6E2FF-A', 'YI6E2FF-A'] 
['YI762FF-A', 'YI762FF-A', 'YI762FF-A', 'YI742FF-A', 'YI742FF-A', 'YI742FF-A', 'YI772FF-A', 'YI772FF-A', 'YI772FF-A'] 
['YIIE2FF-A'] 
['YIZ12FF-A', 'YIZ12FF-A', 'YIZ12FF-A', 'YIZ12FF-A', 'YIRE2FF-A', 'YIRE2FF-A', 'YIRE2FF-A', 'YIRE2FF-A', 'YIIK2FF-A', 'YIIK2FF-A', 'YIZ32FF-A', 'YZ3F2FF-A'] 
['YIY32FF-A'] 
['YNF82FF-A'] 
['YTFL2FF-A', 'YTFL2FF-A', 'YTHR2FF-A', 'YU0Y2FF-A'] 
['YI6A2FF-A', 'YI6A2FF-A', 'YI6A2FF-A'] 
['YI772FF-A'] 
['YTZR2FF-A'] 
['YIRF2FF-A', 'YIRF2FF-A', 'YIRF2FF-A', 'YIRF2FF-A'] 
['YI752FF-A', 'YI752FF-A', 'YI752FF-A'] 

我尝试了一些在 Python 中使用的方法,但没有成功。

将列表中的重复值删除到数据框中的 pandas 方法是什么?

请您参考如下方法:

将值转换为集合,然后对它们进行排序:

df['ListProds'] = df['ListProds'].apply(lambda x: sorted(set(x))) 

或者像评论中提到的@Chris A 使用np.unique:

df['ListProds'] = df['ListProds'].apply(lambda x: np.sort(np.unique(x))) 
#if lists are sorted 
#df['ListProds'] = df['ListProds'].apply(np.unique) 

print (df) 
                                            ListProds 
0                   [YIIE2FF-A, YIR72FF-A, YIZ12FF-A] 
1                                         [HYY32ZY-A] 
2                                         [YI742FF-A] 
3                              [YI6E2FF-A, YI762FF-A] 
4                   [YI742FF-A, YI762FF-A, YI772FF-A] 
5                                         [YIIE2FF-A] 
6   [YIIK2FF-A, YIRE2FF-A, YIZ12FF-A, YIZ32FF-A, Y... 
7                                         [YIY32FF-A] 
8                                         [YNF82FF-A] 
9                   [YTFL2FF-A, YTHR2FF-A, YU0Y2FF-A] 
10                                        [YI6A2FF-A] 
11                                        [YI772FF-A] 
12                                        [YTZR2FF-A] 
13                                        [YIRF2FF-A] 
14                                        [YI752FF-A]