我正在嘗試為 pandas 資料幀計算一個新列,該資料幀在另一個資料幀中采用一列,使用兩個變數來改變值,給出一個新值。這是我必須執行計算的當前代碼:
# 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)零件,它會計算找到的值,但這不是我想要的結果。任何幫助將不勝感激!
uj5u.com熱心網友回復:
area是一個字串;乘以一個字串會導致它重復該次數。
>>> area = "45.345"
>>> area * 5
'45.34545.34545.34545.34545.345'
您想要做的是將其轉換為 afloat然后將其相乘:
>>> float(area) * 1000
45345.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/461331.html
