说如果列'A'包含前三行的值:4.5 mg,5.8 mg,6.3 mg我想要的是:提取后,它应类似于:4.5,5.8,6.3
有什么帮助吗?另外,我不知道如何在stackoverflow中显示我的数据框。因此,对于这个问题的身体形成,我真的感到很抱歉。
使用Series.str.extract
与铸造花车:
df = pd.DataFrame({'A':'4.5 mg, 5.8 mg, 6.3 mg'.split(', ')})
df['new'] = df['A'].str.extract(r'(\d\.\d)+').astype(float)
如果可能的话,一些整数值:
df['new'] = df['A'].str.extract(r"(\d*\.?\d+|\d+)").astype(float)
print (df)
A new
0 4.5 mg 4.5
1 5.8 mg 5.8
2 6.3 mg 6.3
如果可能split
,请与第一个空格一起使用Series.str.split
,str
用于与第一个值建立索引:
df['val'] = df['A'].str.split().str[0].astype(float)