簡體   English   中英

從同時包含string和float的pandas列中刪除科學計數法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM