Python 标签编码到熊猫中的多个列

Python 标签编码到熊猫中的多个列,python,machine-learning,scikit-learn,dataset,sklearn-pandas,Python,Machine Learning,Scikit Learn,Dataset,Sklearn Pandas,我目前正在研究泰坦尼克号数据集。它由4-5个非数字列组成。我想应用类来获取这些非数字列的编码值。毫无疑问,我可以将这种方法逐一应用到每一列。但是当有超过20-30个这样的专栏时,这项工作将变得更加乏味。因为我知道这些非数字列的名称,有什么复杂的方法可以轻松地实现吗?只需在选择对象类型后运行一个循环即可 obj_cols = df.select_dtypes(include=[object]) for i in obj_cols: df[i+'label'] = le.fit_trans

我目前正在研究泰坦尼克号数据集。它由4-5个非数字列组成。我想应用类来获取这些非数字列的编码值。毫无疑问,我可以将这种方法逐一应用到每一列。但是当有超过20-30个这样的专栏时,这项工作将变得更加乏味。因为我知道这些非数字列的名称,有什么复杂的方法可以轻松地实现吗?

只需在选择对象类型后运行一个循环即可

obj_cols = df.select_dtypes(include=[object])

for i in obj_cols:
    df[i+'label'] = le.fit_transform(df[i])

你想要
fillna
No!!!我在问题中提到了sklearn.LabelEncoder术语,为什么不使用带有名称和LabelEncoder的for循环呢?我建议在要编码的列列表中使用pandas'get_dummies,如下所示:当使用列车和测试数据时,使用单个labelencoder对象
le
会有问题。建议在执行标签编码之前,将列车和测试数据合并。如果单独运行label encoder,您总是会面临测试数据中出现新类别的风险我不会说“在…之前组合训练和测试数据”,因为“测试”的目的是模拟生产中获得的新数据,而您事先不知道会出现什么样的情况