我有一个数据框,我想在一列中提取特定信息。使用split可以轻松完成,但是使用Pandas时我不知道该怎么做。
s = pd.Series(['T:15.0(1.71%),B:7.4(0.03%),P:1e-21'])
我只想提取1e-21
我尝试过
s.str.extract()
但是我找不到正则表达式来真正匹配我想要的。
或者是否还有另一种解析列内容的方法。
谢谢
答案 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:
不是逗号(因为我知道逗号会终止分配)。