我试图计算一个熊猫数据框的新列,它在另一个数据框中使用一个列,使用两个变量来改变值,给出一个新值。这是执行计算的当前代码:
# Calculate the Max Stress
jac_output['Max Stress /MPa'] = (jac_input['Max Load'][::-1] + (float(load_zero))) / float(area*1000)
地点:
load zero = 1.5
area = 45.345
然而,每次我尝试执行它,我得到这个错误:
ValueError: could not convert string to float:
'45.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.34545.3
(45.34534重复了很长一段时间)为什么它似乎认为我的区域是字符串?它会计算出如果我去掉/ float(area*1000)
部分的值,但这不是我想要的结果。任何帮助将非常感激!
area
为字符串;将字符串相乘将使其重复该次数。
>>> area = "45.345"
>>> area * 5
'45.34545.34545.34545.34545.345'
你要做的是将其转换为float
和然后乘以它:
>>> float(area) * 1000
45345.0