我正在使用 Pandas 和 Python。我的数据是:
a=pd.DataFrame({'ID':[1,2,3,4,5],
'Str':['aa <aafae><afre> ht4',
'v fef <><433>',
'<1234334> <a>',
'<bijf> 04<9tu0>q4g <vie>',
'aaa 1']})
我想提取<>之间的所有子字符串并将它们与空白合并。例如,上面的例子应该有结果:
aafae afre
433
1234334 a
bijf 9tu0 vie
nan
因此 < > 之间的所有子字符串都被提取出来。如果没有这样的字符串,就会出现 nan。我已经尝试过 re 库和 str 函数。但我对正则表达式真的很陌生。有人可以帮我吗?
最佳答案
使用pandas.Series.str.findall
:
a['Str'].str.findall('<(.*?)>').apply(' '.join)
输出:
0 aafae afre
1 433
2 1234334 a
3 bijf 9tu0 vie
4
Name: Str, dtype: object
关于python - 如何在pandas数据框+ python中的一列中查找<>之间的多个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57423772/