可以使用pandas库来解决这个问题。下面是一个示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'a': [1, 2, 3, 3, 4, 5],
'b': [['apple'], ['banana'], ['apple', 'banana'], ['orange'], ['grape'], ['apple']]}
df = pd.DataFrame(data)
# 按照列a删除重复行,保留列b中包含列表值的行
df = df.drop_duplicates(subset='a')
df = df[df['b'].apply(lambda x: any(item in x for item in ['apple', 'banana']))]
print(df)
输出结果如下:
a b
0 1 [apple]
1 2 [banana]
2 3 [apple, banana]
3 4 [grape]
在这个示例中,首先创建了一个包含两列的DataFrame。然后,使用drop_duplicates()
函数按照列a删除重复行。最后,使用apply()
函数和lambda表达式来筛选出包含列表值的行,其中使用了any()
函数来判断列表中是否存在指定的值。