在Pandas DataFrame
中,如何將表示分類特徵的列(例如,一天是工作日還是週末)以序號形式表示(例如,1表示工作日,2表示週末),以便它以分類的方式表示值,例如工作日的(0,1)和週末的(1,0),所以這些值不具有可比性?如何將序數值轉換爲分類值?
有替代使用pd.get_dummies
(或OneHotEncoder
),這將創建兩個列與0和1s,然後合併兩列在元組中,但沒有直接的方式做到這一點?
例子: 我:
datetime temp daytype
0 2011-01-01 9.84 2
1 2011-01-02 9.02 2
2 2011-01-03 9.02 1
3 2011-01-04 9.84 1
4 2011-01-05 9.84 1
5 2011-01-06 9.84 1
我想:
datetime temp daytype
0 2011-01-01 9.84 (1, 0)
1 2011-01-02 9.02 (1, 0)
2 2011-01-03 9.02 (0, 1)
3 2011-01-04 9.84 (0, 1)
4 2011-01-05 9.84 (0, 1)
5 2011-01-06 9.84 (0, 1)
(我開始想,也許我得到它錯了 - 這是不是默認的方式代表絕對值?)
你是否看到[分類數據文檔](http://pandas.pydata.org/pandas-docs/stable/categorical.html) ? – languitar
我想你需要'df ['daytype'] = df ['daytype']。astype('category')' – jezrael
是的,astype或dtype也是從文檔中推薦的。我相信我(錯誤地)在尋找一種實際可視化的方式來表示這些值不具有可比性。 – Ioanna