在Scikit中跨多个列进行标签编码-学习

在Scikit中跨多个列进行标签编码-学习

我在试着用LabelEncoder为熊猫编码DataFrame字符串标签。由于dataframe有许多(50+)列,所以我希望避免创建LabelEncoder对象;我宁愿只有一个大的LabelEncoder跨部门工作的对象。我的数据列。

把整个DataFrameLabelEncoder创建以下错误。请记住,我在这里使用的是虚拟数据;实际上,我处理的是大约50列带有字符串标签的数据,因此需要一个不按名称引用任何列的解决方案。

import pandasfrom sklearn import preprocessing 

df = pandas.DataFrame({
    'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 
    'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 
    'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 
                 'New_York']})le = preprocessing.LabelEncoder()le.fit(df)

追溯(最近一次调用):文件“,第1行,在文件”/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py“,第103行,在FIT y=列_或_1D(y,WARN=True)文件”/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py“,行306中,在列_或_1D中提高ValueError(”坏输入形状{0}“。格式(形状)值错误:输入形状错误(6,3)

对如何解决这个问题有什么想法吗?


浮云间
浏览 658回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python