我是python熊貓的新手,因爲小數點和零之間有一個空格,所以我試圖將列中的所有值湊齊。例如,湊整小數蟒蛇
Hi
21. 0
8. 0
52. 0
45. 0
我嘗試使用下面我當前的代碼,但它給了我:轉換爲前
invalid literal for float(): 21. 0
df.Hi.astype(float).round()
我是python熊貓的新手,因爲小數點和零之間有一個空格,所以我試圖將列中的所有值湊齊。例如,湊整小數蟒蛇
Hi
21. 0
8. 0
52. 0
45. 0
我嘗試使用下面我當前的代碼,但它給了我:轉換爲前
invalid literal for float(): 21. 0
df.Hi.astype(float).round()
嘗試使用replace
的字符串替換字符串中的所有空白float:
df.Hi.str.replace(' ', '').astype(float).round()
如果我的理解正確,您想要將列01中的值至float
。
小數點和零之間有一個空格,表示您的值是字符串。
您可以使用lambda
函數將它們轉換爲float
。
df['Hi'] = df['Hi'].apply(lambda x: x.replace(" ", "")).astype(float)
print(df)
Hi
0 21.0
1 8.0
2 52.0
3 45.0
print(df.dtypes)
Hi float64
dtype: object
我收到屬性錯誤:'float'對象沒有屬性'replace' –
我認爲'Hi'值是字符串,因爲有空格。所以,你的價值實際上是「浮動」?我錯過了什麼? –
數據類型仍然是對象,只是無法將其轉換爲浮點數。 –
它返回「無法將系列轉換爲」 –
使用正確的語法編輯此答案。在這裏,直到編輯通過@NickEdwards批准爲止:'df.Hi.str.replace('','').astype(float).round()' – Kartik
我沒有在任何地方看到您的編輯請求,但我自己修改了編輯,謝謝! –