【发布时间】:2017-09-19 02:16:15
【问题描述】:
我的初始数据框如下所示
A | B
-----------------
'a' | ['1', 'a', 'b']
'1' | ['2', '5', '6']
'd' | ['a', 'b', 'd']
'y' | ['x', '1', 'y']
我想检查 'a' 是否在 B 的相应列表中:['1', 'a', 'b']
我可以使用 apply 来做到这一点
df.apply(lambda row: row[['A']][0] in row[['B']][0], axis=1)
这给了我预期的结果:
[True, False, True, True]
但在我拥有的真实数据(数百万行)上,这些数据非常繁重且需要很长时间。 有没有更有效的方法来做同样的事情? 例如使用 numpy elementwise 操作或其他什么?
【问题讨论】:
标签: python list pandas contains