我有一个具有一列列表的DataFrame。我想返回列表包含指定值的那些行的数据框的子集。
test = pd.DataFrame({'detail_id': [10000, 10001, 10002],
'tokens': [['A', 'B', 'C'], ['A', 'D'], ['C', 'E', 'F', 'H']]})
如果我以此方式过滤特定的ID,则可以正常工作
test[test['detail_id'] == 10001]
如果我只想在令牌列表中的前2行中包含“ A”,则以下行不起作用
test['A' in test['tokens']]
我得到一个KeyError: False
。我知道为什么,但是我正在努力寻找解决方案。有什么建议吗?
只需使用numpy.bitwise_and
:
import numpy as np
test.loc[np.bitwise_and(test['tokens'].map(set), {'A'})]
阅读更多内容:https : //numpy.org/doc/stable/reference/generated/numpy.bitwise_and.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句