我有一个数据框架,其中一列包含列表。我想找出哪些列表包含重复项,并希望包含重复项的列表在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)))