汽车 | 车型 | 里程 | 售价(美元)>年龄(年)||||
---|---|---|---|---|---|---|
0 | 宝马X5 | 69000 | <18000>>td>6||||
1 | 宝马X5 | 35000 | 34000 | 3 | ||
2 | 宝马X5 | 5700026100 | 5 | |||
3 | 宝马X5 | <22500>40000 | 2 | |||
宝马X5 | ||||||
5 | 奥迪A5 | 59000 | 294005 | |||
奥迪A5 | ||||||
7 | 奥迪A5 | 72000 | 19300 | 6 | ||
奥迪A5 | ||||||
9 | Mercedez奔驰C级 | 67000 | 22000 | 6 | ||
10 | Mercedez奔驰C级 | |||||
11 | Mercedez奔驰C级 | >79000 | 21000 | 7 | ||
12 | Mercedez奔驰C级 | 59000 | 33000 | 5
您可以像这样对分类变量进行热编码。
one_hot_data = pd.get_dummies(df.Model, prefix='Model')
df = pd.concat([df, one_hot_data], axis=1)
编辑:
import pandas as pd
from sklearn.preprocessing import LabelBinarizer
jobs_encoder = LabelBinarizer()
jobs_encoder.fit(df['Model'])
transformed = jobs_encoder.transform(df['Model'])
ohe_df = pd.DataFrame(transformed)
df = pd.concat([df, ohe_df], axis=1).drop(['Model'], axis=1)
我使用以下代码解决了这个问题:
from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
dfle['Car Model']=le.fit_transform(dfle['Car Model'])
ohe=OneHotEncoder()
dfle['Car Model']=pd.DataFrame(ohe.fit_transform(df[['Car Model']]).toarray())
dfle.head()
X=dfle[['Car Model','Mileage','Age(yrs)']].values