我有一個資料框,其中一列是“物件”資料型別。我使用pd.to_numeric()witherrors = 'coerce'將其轉換為“float”資料型別。但是,轉換后的列對于所有條目都顯示為 NaN。如果我讓errors = 'ignore',沒有條目被轉換為浮動。有什么我想念的嗎?以下是代碼片段:
pd.to_numeric(df['gender'],errors = 'coerce')
該列df['gender']包含“男性”和“女性”條目。我想將這些轉換為“浮動”資料型別。
謝謝!
uj5u.com熱心網友回復:
to_numeric只能轉換數字式的東西。例如,它可以將字串'10'轉換為數字10,但不能將類似的內容'Male'轉換為數字。
而是使用pd.factorize:
df['gender'] = pd.factorize(df['gender'])[0].astype(float)
或Series.factorize:
df['gender'] = df['gender'].factorize()[0].astype(float)
的第一個元素factorize包含整數代碼,因此我們將它們轉換astype(float)。
或者正如您所評論的,Series.map也適用:
df['gender'] = df['gender'].map({'Male': 0, 'Female': 1}).astype(float)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/394343.html
