我有一個數據框中的列,其中包含值'a','b','c','d' and 'e'
和總共150萬記錄。我想將這些值轉換爲數字類別,例如 a=>1,b=>2,c=>3,d=>4 and e=>5
。什麼是通過熊貓循環數據框的有效方式?
因爲我有150萬記錄,什麼是最有效的方式我可以做這個手術?
我有一個數據框中的列,其中包含值'a','b','c','d' and 'e'
和總共150萬記錄。我想將這些值轉換爲數字類別,例如 a=>1,b=>2,c=>3,d=>4 and e=>5
。什麼是通過熊貓循環數據框的有效方式?
因爲我有150萬記錄,什麼是最有效的方式我可以做這個手術?
我認爲使用df.applymap()
與一個有效的函數將伎倆。
pd.DataFrame(
pd.factorize(df.values.ravel())[0].reshape(len(df), -1) + 1,
df.index, df.columns
)
雖然此代碼可能回答此問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文會提高答案的長期價值。 - [來自評論](http://stackoverflow.com/review/low-quality-posts/16188660) –
@DonaldDuck thx的反饋。我會盡可能地改進它。 – piRSquared
您是否檢查過文檔?這種操作是**有據可查**:http://pandas.pydata.org/pandas-docs/version/0.20/generated/pandas.to_numeric.html –
@OliverCharlesworth我嘗試了itertuples,iteritems ....都花費了很多時間。 –
當談到DataFrame時,沒有有效的循環方法。有效的方法是矢量化的,但您必須更清楚地定義您的問題(帶有樣本輸入和期望的輸出對),以便我們能夠爲您提供幫助。 – ayhan