当前位置: 首页 > 面试题库 >

Python和Pandas:如何查询列表类型列是否包含某些内容?

柴嘉年
2023-03-14
问题内容

我有一个数据框,其中包含有关电影的信息。它有一个名为的列genre,其中包含它所属的流派列表。例如:

df['genre']

## returns

0       ['comedy', 'sci-fi']
1       ['action', 'romance', 'comedy']
2       ['documentary']
3       ['crime','horror']
...

我想知道如何查询数据框,以便它返回属于某个类型的电影?

例如,可能会df['genre'].contains('comedy')返回0或1。

我知道列表,可以做以下事情:

'comedy' in  ['comedy', 'sci-fi']

但是,在大熊猫中,我找不到类似的东西,我唯一知道的是df['genre'].str.contains(),但它不适用于列表类型。


问题答案:

您可以使用applycreate mask,然后boolean indexing

mask = df.genre.apply(lambda x: 'comedy' in x)
df1 = df[mask]
print (df1)
                       genre
0           [comedy, sci-fi]
1  [action, romance, comedy]


 类似资料:
  • 问题内容: 我正在尝试检查python列中是否包含某个值。我正在使用,我毫不怀疑它是一个很好的工具。问题是我有超过350K的行,并且输出不会显示所有的行,因此我可以查看该值是否实际包含在内。简而言之,我只想知道(Y / N)列中是否包含特定值。我的代码如下: 问题答案: 我认为如果需要行,其中column的值包含string : 或者,如果的列是: 如果要检查 列中的最后4位数字: 样品:

  • 问题内容: 我有这样的df: 以及物品清单: 我的目标是从中获取至少包含2个元素的所有行。 我想出了以下解决方案: 这给了我我想要的,但是就可伸缩性而言,它可能不是最佳的解决方案。是否有任何“向量化”解决方案?谢谢 问题答案: 我会建立一个Series列表,然后应用vectorized : 它给出了预期的结果:

  • 问题内容: 我有两个列表,一个包含 相册,文件对的 列表,另一个仅包含有关一张照片的信息- 相册 (位置0)和 文件 (位置1) 如何查看 照片 列表是否在 照片 列表中?就像字符串一样。 相册 , 文件的 位置无关紧要,因为不会有任何 文件 等于 相册 。 问题答案: 同样喜欢字符串。不仅如此,也是 如此 。也适用于列表中的列表: 对列表的成员资格测试仅迭代列表,并对每个元素使用相等性测试以查看

  • 我想检查数据帧中的列是否由字符串组成,以便为机器学习目的用数字标记它们。有些列由数字组成,我不想更改它们。列示例如下所示: 谢谢=)

  • 问题内容: 我在pandas DataFrame中有两列:和。我想创建第三列:单元格的值是相应行的中是否包含相应行的,否则。 因此结果将如下图所示。 我已经试过,,,,等,但Python中返回一个错误:“系列”的对象是可变的,因此它们不能被散列。有谁知道如何在Python中创建第三列? 问题答案: IIUC,然后您可以逐行进行lambda来检查在Authors中是否存在Name字符串: 应该管用

  • 问题内容: 我正在尝试确定Pandas列中是否有一个具有特定值的条目。我试图用来做到这一点。我以为这是行得通的,除非当我向它提供一个我不知道的值时,它仍然返回。当我将一个子集添加到仅包含与缺少的ID匹配的条目的数据框时,显然其中没有条目。如何确定Pandas数据框中的列是否包含特定值,为什么我的当前方法不起作用?)。 问题答案: Series的值检查值是否在索引中: 一种选择是查看它是否具有唯一值