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

标签 python pandas

我的数据框中有一列,它是一个包含行值的列表。 有没有办法让这些列表中具有唯一值的相同列也进行排序。

这是我的数据框列。

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]

关于python - 从 Pandas Dataframe 的列表中删除重复的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58711722/

相关文章:

python - 根据现有列中的值创建新列并合并行

python - 有条件聚合 Pandas DataFrame

python - 使用 Keras 随机增强图像

python - 列表索引必须是整数或切片,而不是 WebElement

python - 将 .map 与 defaultdict 一起使用

python - 绘制每条线都有分类列的折线图

pandas - 使用 sklearn 或 pandas 进行一次热编码后,如何在混合数据集(数值 + 分类)上应用 KNN

python - 使用 pandas 方法根据 bool 序列标记数据框中的行组

Python + Ubuntu Linux + nohup 错误 : [1]+ Exit

python - 在Python中读取大型预训练的fastext词嵌入文件