熊猫使用正则表达式提取列中的str

时间:2020-07-11 20:04:15

标签: python pandas

我有一个数据框,我想在一列中提取特定信息。使用split可以轻松完成,但是使用Pandas时我不知道该怎么做。

s = pd.Series(['T:15.0(1.71%),B:7.4(0.03%),P:1e-21'])

我只想提取1e-21

我尝试过

s.str.extract()

但是我找不到正则表达式来真正匹配我想要的。

或者是否还有另一种解析列内容的方法。

谢谢

3 个答案:

答案 0 :(得分:2)

您可以尝试以下方法:

print(s.str.extract('(\d+e-\d+)'))

       0
0  1e-21

答案 1 :(得分:1)

s = pd.Series(['T:15.0(1.71%),B:7.4(0.03%),P:1e-21'])
print(s.str.split(":")[0][-1])

输出:

'1e-21'

答案 2 :(得分:1)

尝试:

print(s.str.extract(r"P:([^\,]+)"))

这将返回文字后的所有内容:P:不是逗号(因为我知道逗号会终止分配)。