這是每當我嘗試將數據幀轉換爲int時出現的錯誤。如何修復無效文字int()與熊貓基數10錯誤
(「無效字面INT()基數爲10:‘260327021’」,在DF
一切都在指數Population1發生「是一個數字我認爲錯誤是由於額外費用。在報價結束,但如何解決呢?
這是每當我嘗試將數據幀轉換爲int時出現的錯誤。如何修復無效文字int()與熊貓基數10錯誤
(「無效字面INT()基數爲10:‘260327021’」,在DF
一切都在指數Population1發生「是一個數字我認爲錯誤是由於額外費用。在報價結束,但如何解決呢?
我運行這個
int('260,327,021')
,並得到這個
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-448-a3ba7c4bd4fe> in <module>() ----> 1 int('260,327,021') ValueError: invalid literal for int() with base 10: '260,327,021'
我向你保證,不是你的數據框中的所有東西都是數字。它可能看起來像一個數字,但它是一個帶有逗號的字符串。
你要更換你的逗號,然後打開一個int
pd.Series(['260,327,021']).str.replace(',', '').astype(int)
0 260327021
dtype: int64
其他人可能會遇到以下問題,當字符串是float:
>>> int("34.54545")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '34.54545'
的辦法解決這個先轉換爲浮點數然後轉換爲int:
>>> int(float("34.54545"))
34
或熊貓具體如下:
df.astype(float).astype(int)
哦哇。非常感謝!所以這意味着我必須替換一切。 df中的每個數字看起來都像我給的那個。 – Caribgirl
@Caribgirl是的!除非你從一個文件中讀取,否則你可以傳遞一個參數給'read_csv'函數,即'thousands =','' – piRSquared
非常感謝你的工作!我的天啊。我一直在努力解決這個問題好幾個小時!謝謝!!!!! – Caribgirl