然后,本教程将继续将字符串转换为数字数据:
X = pd.read_csv('titanic_data.csv')
X = X.select_dtypes(include=[object])
le = preprocessing.LabelEncoder()
X_2 = X.apply(le.fit_transform)
这使数据帧看起来如下所示:
之后,数据通过OneHotEncoder,我假设可以很容易地拆分并传递到决策树分类器。
问题是,在我看来,原始数字数据通过这种编码过程获得了很多。如何在以后保留或添加编码过程中删除的数字数据?谢谢
实际上有一个非常简单的解决方案-使用pd。获取虚拟对象()
如果您有以下数据帧:
so_data = {
'passenger_id': [1,2,3,4,5],
'survived': [1,0,0,1,0],
'age': [24,25,68,39,5],
'sex': ['female', 'male', 'male', 'female', 'female'],
'first_name': ['Joanne', 'Mark', 'Josh', 'Petka', 'Ariel']
}
so_df = pd.DataFrame(so_data)
这看起来像:
passenger_id survived age sex first_name
0 1 1 24 female Joanne
1 2 0 25 male Mark
2 3 0 68 male Josh
3 4 1 39 female Petka
4 5 0 5 female Ariel
您只需执行以下操作:
pd.get_dummies(so_df)
这将给你:
(抱歉截图,但是在SO上清理df真的很难)