1、離散特徵的取值之間沒有大小的意義,比如color:[red,blue],那麼就使用one-hot編碼
2、離散特徵的取值有大小的意義,比如size:[x,xl,xxl],那麼就使用數值的對映說明:對於有大小意義的離散特徵,直接使用對映就可以了,
使用pandas可以很方便的對離散型特徵進行one-hot編碼
使用get_dummies進行one-hot編碼,獨熱碼應用前後注意color列的變化結果如下
二、實踐
最後難免要變稀疏矩陣
>>> import pandas as pd
>>> s = pd.series(list('abca'))
>>> pd.get_dummies(s)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
>>> s1 = ['a', 'b', np.nan]
>>> pd.get_dummies(s1)
a b
0 1 0
1 0 1
2 0 0
>>> pd.get_dummies(s1, dummy_na=true)
a b nan
0 1 0 0
1 0 1 0
2 0 0 1
下面這個有意思,直接c不參加,因為prefix寫明了a和b參加one-hot編碼。
>>> df = pd.dataframe()
>>> pd.get_dummies(df, prefix=['col1', 'col2'])
c col1_a col1_b col2_a col2_b col2_c
0 1 1 0 0 1 0
1 2 0 1 1 0 0
2 3 1 0 0 0 1
python中 python中的 與
這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...
python中的物件 Python中的變數 物件
由於沒時間系統學習下python 只能見乙個問題 乙個問題了 一 初級 物件 關於python中的資料型別,今天重新認識了下。參考 首先,python中,物件才有型別,變數是沒有型別的,它只是物件的 引用 其次,python中物件被分為兩類 可更改物件和不可更改物件 包括numbers,string...
python中的引數傳遞 python中的引數傳遞
begin 前面在介紹python的六大資料型別的時候提到根據資料可變和不可變進行的資料型別分類 python3 的六個標準資料型別中 不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 pytho...