我想知道如何在列中具有不同位置的一组不同字符之间提取数字。
我正在尝试提取字符串'FC ='之后的所有数字,直到下一个非数字字符(数字也可能为负)。
示例df代码:
import pandas as pd
d = {'W': ['abcde','abcde','abcde']}
df = pd.DataFrame(data=d)
df['First']=[0,0,0]
df['Last']=[1,2,3]
df['Slice']=['abFC=0.01#%sdadf','12fdak*4%FC=-0.035faf,dd43','FC=0.5fasff']
样本df:
W First Last Slice
0 abcde 0 1 abFC=0.01
1 abcde 0 2 12fdak*4%FC=-0.035faf,dd43
2 abcde 0 3 FC=0.5fasff
所需的输出:
W First Last Slice
0 abcde 0 1 0.01
1 abcde 0 2 -0.035
2 abcde 0 3 0.5
答案 0 :(得分:1)
df['Slice'] = df['Slice'].str.extract(r'(?<=FC=)([\d\.\-]+)')
收益:
W First Last Slice
0 abcde 0 1 0.01
1 abcde 0 2 -0.035
2 abcde 0 3 0.5