在做**分類的任務中,如果出現了分類變數,要對其進行一些處理,例如
在對這些分類變數處理的時候要注意以下兩點原則
離散特徵的取值之間沒有大小的意義,比如color:[red,blue],那麼就使用one-hot編碼
離散特徵的取值有大小的意義,比如size:[x,xl,xxl],那麼就使用數值的對映
遵循這兩點對於機器學習的分類任務有很大的關係
df = pd.dataframe([[
'green'
,'m'
,'一等座'],
['red'
,'l'
,'二等座'],
['blue'
,'xl'
,'三等座']]
根據上面的原則,需要對這三列變數進行處理,但顏色是沒有大小關係的,因此需要進行one-hot編碼,而尺碼大小和座位等級是有大小之分的,因此需要單獨對映處理。
new_color = pd.get_dummies(df[
'color'
])
def
sizetransform
(df)
:if df[
'size']==
'm':
return
1elif df[
'size']==
'l':
return
2elif df[
'size']==
'xl'
:return
3def
seat_transform
(df)
:if df[
'seat']==
'一等座'
:return
3elif df[
'seat']==
'二等座'
:return
2elif df[
'seat']==
'三等座'
sklearn裡面對分類變數處理的函式有
pandas 的資料處理方法
import pandas as pd 2 讀入資料 pd.read csv filepath,param 3 檢視資料的前五行 pd.head pd.tail 檢視尾5行 4 檢視資料的一些情況 series.describe 對一列進行統計 5 刪除列 pd.drop columns,inpla...
Pandas中的分類
一 分類變數的結構 乙個分類變數包括三個部分,元素值 values 分類類別 categories 是否有序 order 從上面可以看出,使用cut函式建立的分類變數預設為有序分類變數 一 獲取分類屬性 a describe方法 該方法描述了乙個分類序列的情況,包括非缺失值個數 元素值類別數 不是分...
pandas處理資料方法整合
1.如何將乙個表中的role欄位取值 客戶 和 坐席 處理為0和1data role data role lambda x 1if x 客戶 else 0 data keywords data.lambda x get keyword x role x content axis 1 3.去除一段話中...