按列列表中的值过滤Pandas DataFrame

马克·库德里克

我有一个具有一列列表的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按行特定列表逐列选择pandas dataframe

我该如何过滤一个DataFrame,该DataFrame在Pandas的列中的特定单词列表之后保留行?

根据一列中的最大值过滤pandas Dataframe

乘以pandas DataFrame中的列列表

Pandas DataFrame:如何按列中的值分组并从分组值中创建新列

PySpark-按列值拆分/过滤DataFrame

删除Pandas中的DataFrame行,其中列值在列表中

在具有multiindex的pandas Dataframe中,如何按顺序过滤?

Pandas DataFrame中列的值列表

Pandas Dataframe检查列值是否在列列表中

按索引列上的条件过滤pandas Dataframe中的值

选择列表中的Pandas DataFrame列值的所有行

Pandas Dataframe仅按一列过滤行

Pandas Dataframe-按列值分组并从其他列中查找值

根据另一个列表从pandas dataframe列中的列表中删除值

将DataFrame分组,按组大小和一行中的列值进行过滤?

遍历Pandas DataFrame列中的列表

过滤给定值在两个列值之间的pandas DataFrame中的所有行

在列列表上使用OR语句过滤Pandas Dataframe

Pandas DataFrame:按类型过滤列/索引

在Pandas DataFrame中过滤一列字符串列表

按值对Pandas DataFrame排序

在pandas DataFrame列中存储列表

在pandas中,如何通过为多个指定列的值指定的条件过滤DataFrame?

Pandas:如何按值过滤列列表?

Pandas Dataframe 中的动态列数据(按 Dataframe 填充)

如何按列值切片过滤 Pandas DataFrame

如何过滤包含列表中所有值的 DataFrame 列?

Pandas - Dataframe 中列中重复值或列表值的列添加