我需要將資料框中列的字串值四舍五入到小數點后 2 位,因此我首先使用 astype(float) 將它們轉換為浮點數,然后使用 round(2)。前任:
df['col'] = df['col'].astype(float).round(2)
但我收到以下錯誤:
ValueError: could not convert string to float: '.'
我認為這些點不會有問題,這里有什么我遺漏的嗎?
編輯:這是一個巨大的資料量,所以可能會有意想不到的值,但在過濾它以測驗樣本后,錯誤仍然存??在。
Edit2:結果發現即使在過濾作業表后我仍然有無效資料,對于看似愚蠢的問題很抱歉哈哈。mozways 的解決方案運行良好。
uj5u.com熱心網友回復:
要將字串轉換為數字而不會出現無效資料錯誤,請使用pandas.to_numeric:
df['col'] = pandas.to_numeric(df['col'], error='coerce').round(2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/497490.html
上一篇:微服務RESTAPI設計中的語言
