如何将浮动连接到列表?

伟大的

我有一个如下所示的数据框

import pandas as pd
z = pd.DataFrame({'Unit':['%','%','%','mmol/mol','mmol/mol'],'value':[6,1,5,120,110]})

我想创建一个名为的新列new_value,它将具有基于Unit的值意思是,如果unit%,我们只是保持不变。如果不是,我们应该应用下面的公式来转换它们

% = [0.09148 * value] + 2.152). 

因此,我尝试了以下代码

z['new_value'] = np.where(z["Unit"]=='mmol/mol', z['value'],([0.09148*z['value']] + 2.152))

但它导致了如下所示的错误消息

TypeError: can only concatenate list (not "float") to list

我希望我的输出如下所示

在此处输入图片说明

耶斯列

[]从第二部分(其他)中删除返回一维数组np.where,同时更改顺序then-else

z['new_value'] = np.where(z["Unit"]=='mmol/mol', 0.09148*z['value'] + 2.152, z['value'])
print (z)
       Unit  value  new_value
0         %      6     6.0000
1         %      1     1.0000
2         %      5     5.0000
3  mmol/mol    120    13.1296
4  mmol/mol    110    12.2148

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章