![](/img/trans.png)
[英]Converting all rows in a pandas dataframe column from scientific notation to float
[英]Remove scientific notation from pandas column containing both string and float
我無法從包含字符串和非字符串條目的列中刪除科學計數法。
當我使用read_csv導入數據集時,其中一列顯示以下內容:
0 1.9157E+11
11 1.9157E+11
12 1.9157E+11
13 1.9157E+11
14 1.9157E+11
...
37444 19156794-1005
37445 19156794-1004
37446 19156791023
37447 19156794-1003
37448 19156794-1003
雖然所有條目都編碼為字符串,但是某些行僅包含數字(因此它們將轉換為科學計數法),而某些行包含“-”(因此它們將正確顯示)。
當我打印dataframe['column'][11]
,得到的是'1.9157E+11'
,它是一個字符串。
我無法對整個列使用apply(float)
,因為某些條目包含“-”,因此無法轉換為字符串。
也有人問了這個問題 ,但《任擇議定書》面臨同樣的問題(見解決方案下的評論),但沒有解決。
如果需要轉換所有可轉換值並將其他值保留不變,則可以使用以下代碼:
def try_float(x):
try:
return float(x)
except ValueError as e:
return x
series.apply(try_float)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.