2017-06-05 75 views
0

我的問題類似於this之一。如何將整個數據幀的值轉換爲浮點數在熊貓中

我想將數據幀中的所有值轉換爲浮點類型。但需要更多的是忽略這些轉換不能發生的行。

例如,給定一個字符串'0.9',它將被成功轉換爲float,但像'why'這樣的字符串將會通過一個錯誤。我想刪除數據框中所有會出現在錯誤情況下的行。

+0

爲什麼那個鏈接的問題不是你想的是什麼?它已經有了'errors ='ignore''這個應該可以做你想要的東西的答案 – EdChum

+0

我用它但是不工作。當我對DF colum:'sum(list(df [col]))'這樣做時,它會拋出一個錯誤 - 'TypeError:不支持的操作數類型爲+:'int'和'str' – user3667569

+0

請發佈原始數據,重現您的df的代碼,您嘗試轉換,期望的輸出和任何錯誤,因爲您的問題缺乏細節,因爲您正在詢問有關轉換,但隨後對您期望的結果發表評論 – EdChum

回答

0

試試這個:

df = df.apply(pd.to_numeric, errors='coerce') 

docs

errors : {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’

If ‘raise’, then invalid parsing will raise an exception

If ‘coerce’, then invalid parsing will be set as NaN

If ‘ignore’, then invalid parsing will return the input

+0

請問您能解釋一下錯誤= '脅迫'的意思是?謝謝! – user3667569

+0

不工作,它有同樣的問題。當我這樣做到一個DF柱:'sum(list(df [col]))'時,它會拋出一個錯誤 - 'TypeError:不支持的操作數類型爲+:'int'和'str' – user3667569

+0

@ user3667569,請改用熊貓方法:'df [col] .sum()' – MaxU