首页 > 解决方案 > 在 Pandas Column 中搜索每行值包含列表的字符串

问题描述

我有一个熊猫系列,每个值都是一个列表

零件
[R797,R398]
[R803,R93]

我正在尝试在列中搜索以查找特定组件,例如 R797

我尝试过的是df[df['component'].str.contains('R797')],即使该值显然在列表中,它也会返回一个空表。

我一直在尝试遍历列表,但每次它说列表不可散列时,任何建议都会很棒

标签: pythonpandas

解决方案


让我们创建系列:

import pandas as pd
s = pd.Series([['R797','R398'],['R803','R93']])

结果:

0    [R797, R398]
1     [R803, R93]

现在apply对每个元素(列表)进行 lambda 函数:

s.apply(lambda s: 'R797' in s)

输出:

0     True
1    False
dtype: bool

要查找元素:

s[s.apply(lambda s: 'R797' in s)]

结果:

0    [R797, R398]
dtype: object

推荐阅读