Python 3.x 如何在Python中使用pandas从数据框中的列中查找特定值

Python 3.x 如何在Python中使用pandas从数据框中的列中查找特定值,python-3.x,pandas,Python 3.x,Pandas,我想从数据框架中名为“链接项目”的列中提取需求编号的值。“链接项目”列包含以下格式的字符串: Linked Issues Requirement-12345, NewPr-8795, OldPr-78941 MSR-85749, Requirement-74852, NewPr-95418 Requirement-894895 OldPr-85974, NewPr-968572, Requirement-985785 预期结果: 我想要的是将需求编号存储在一个新列中,如下所

我想从数据框架中名为“链接项目”的列中提取需求编号的值。“链接项目”列包含以下格式的字符串:

Linked Issues  
Requirement-12345, NewPr-8795, OldPr-78941  
MSR-85749, Requirement-74852, NewPr-95418

Requirement-894895  

OldPr-85974, NewPr-968572, Requirement-985785  
预期结果:
我想要的是将需求编号存储在一个新列中,如下所示:

Requirement Number  
Requirement-12345  
Requirement-74852  

Requirement-894895

Requirement-985785
用于使用
regex
-
r'(要求-\d+)
字符串获取值,每行获取第一个匹配值的整数:

df['new'] = df['Linked Issues'].str.extract(r'(Requirement-\d+)')
print (df)
                                    Linked Issues                 new
0      Requirement-12345, NewPr-8795, OldPr-78941   Requirement-12345
1       MSR-85749, Requirement-74852, NewPr-95418   Requirement-74852
2                              Requirement-894895  Requirement-894895
3  OldPr-85974, NewPr-968572, Requirement-985785   Requirement-985785
如果可能,每行使用多个值,请使用:


如果在所有列中正确编写了需求,您可以使用regex,并使用
df.apply()
从每一行中提取。感谢上述解决方案,您是一个很大的帮助。它工作得非常好。我查看了一些文档,需要确认这里我们在r'(Requirement-\d+)中使用了r,以便让python知道我们正在处理正则表达式。
df['new'] = df['Linked Issues'].str.findall(r'(Requirement-\d+)').str.join(', ')