我可以在熊貓字符串列轉換爲範疇,但是當我試圖插入它作爲一個新的數據框柱似乎被轉換右後衛STR系列:如何從字符串列中生成Categorical的熊貓DataFrame列?
train['LocationNFactor'] = pd.Categorical.from_array(train['LocationNormalized'])
>>> type(pd.Categorical.from_array(train['LocationNormalized']))
<class 'pandas.core.categorical.Categorical'>
# however it got converted back to...
>>> type(train['LocationNFactor'][2])
<type 'str'>
>>> train['LocationNFactor'][2]
'Hampshire'
猜測這是因爲直言沒有按」 t映射到任何numpy dtype;所以我必須將其轉換爲某種int類型,從而失去因子標籤< - >關聯關係? 什麼是最優雅的解決方法來存儲水平< - >標籤關聯並保留轉換能力? (只是存儲像here一個字典,並手動在需要時轉換?) 我想Categorical is still not a first-class datatype for DataFrame,不像R.
(使用熊貓0.10.1,numpy的1.6.2,2.7.3蟒 - 最新版本的MacPorts一切)。
我知道,但這裏的問題是,這一切又轟出回來時,我們分配到一個數據幀列海峽,就像我表明:'火車[「LocationNFactor」 ] = pd.Categorical ...' – smci 2013-03-12 19:47:59