说我有:
mylist = ["test", "new"]
df = pd.DataFrame([[["test", "whatever"]], [["tes", "test_in"]], [["new2", "new1"]]], columns=["a"])
df
a
0 [test, whatever]
1 [tes, test_in]
2 [new2, new1]
我想过滤并只获取 mylist 中至少有一个值的行:
a
0 [test, whatever]
我不能这样做: df.query("a.str.contains('|'.join(@mylist))", engine='python') 因为那样我会得到部分匹配。
我在想这样的事情:
df[df.apply(lambda x: set(x['a']) & set(mylist), axis=1)]
但这不起作用。
宝慕林4294392
胡子哥哥
qq_花开花谢_0
相关分类