如何确定pandas数据框架中单元格内的列表元素是否相同?



我有一个数据框架,其中一列包含列表。我想找出哪些列表包含重复项,并希望包含重复项的列表在helper列上显示出来。

我尝试遍历每个列表。然后,我尝试将结果与列表的第一个元素进行比较。

df = pd.DataFrame({
'List': [['22', '65'], ['22', '22'], ['22', '91']],
})
df['Multiples'] = df['List'].apply(lambda x: any(i == x[0] for i in x))
print(df)

我期望第二行返回True;我还期望第一行和第三行返回False。相反,一切都返回True。

编辑:我应该使用'all'而不是'any',因为当第一个元素与自身比较时'any'返回true。但它不适用于以下场景,因为中间部分仍然应该返回true:

df = pd.DataFrame({
'List': [['22', '65'], ['22', '22','34'], ['22', '91']],
})
df['Multiples'] = df['List'].apply(lambda x: all(i == x[0] for i in x))
print(df)

构建一个set去dup:

df['Multiples'] = df.List.apply(lambda x: len(x) > len(set(x)))