如何在字符串列 pandas 中执行计算
How to perform calculation in string column pandas
df[浓度]
'4.0±0.0'
'2.5±0.2'
'5.8±0.1'
'45.0'
'23'
'26.07'
'64'
我想要的结果是:
4.00
2.70
5.90
45.00
23.00
26.07
64.00
这是 (4.0+0.0) 取最高可能值。
但是我的浓度列不是浮动的,那么我该如何对这种类型的数据进行计算?
我们将不胜感激。
谢谢。
使用 split(regex, expand)
,将结果数字转换为浮点数并使用 lambda 按行添加。
数据
df=pd.DataFrame({'concentration':['4.0±0.0','2.5±0.2','5.8±0.1','45.0','23','26.07','64']})
解决方案
df['concentration']=df.concentration.str.split('±', expand=True).apply(lambda x: x.astype(float)).sum(1)
concentration
0 4.00
1 2.70
2 5.90
3 45.00
4 23.00
5 26.07
6 64.00
df[浓度]
'4.0±0.0'
'2.5±0.2'
'5.8±0.1'
'45.0'
'23'
'26.07'
'64'
我想要的结果是:
4.00
2.70
5.90
45.00
23.00
26.07
64.00
这是 (4.0+0.0) 取最高可能值。
但是我的浓度列不是浮动的,那么我该如何对这种类型的数据进行计算?
我们将不胜感激。
谢谢。
使用 split(regex, expand)
,将结果数字转换为浮点数并使用 lambda 按行添加。
数据
df=pd.DataFrame({'concentration':['4.0±0.0','2.5±0.2','5.8±0.1','45.0','23','26.07','64']})
解决方案
df['concentration']=df.concentration.str.split('±', expand=True).apply(lambda x: x.astype(float)).sum(1)
concentration
0 4.00
1 2.70
2 5.90
3 45.00
4 23.00
5 26.07
6 64.00