sklearn中的LabelEncoder抛出值比较错误

时间:2018-02-23 21:24:26

标签: python pandas

我收到错误“'<'执行以下代码时,'str'和'float'实例之间不支持。错误消息甚至没有说明哪个列是错误。任何建议,将不胜感激。

Message

1 个答案:

答案 0 :(得分:0)

正如您在下面看到的提供作品的代码段。我也试过你的填充NaNs的方法,它仍然有效。可能值得重新启动IDE并检查数据框包含的其他内容。

import pandas as pd
from sklearn.preprocessing import LabelEncoder

df = pd.DataFrame(
        {'Country':['China', 'India', 'USA', 'Indonesia', 'Brasil', 'Japan'],
         'Population, M': [1403.5, 1324.2, 322.2, 261.1, 207.6, 127.6],
         'Label': ['huge', 'huge', 'big', 'big', 'big', 'big']})

print(df)

le = LabelEncoder()
for column in df.columns:
  if df[column].dtype == type(object):
    df[column] = le.fit_transform(df[column])

print(df)

     Country Label  Population, M
0      China  huge         1403.5
1      India  huge         1324.2
2        USA   big          322.2
3  Indonesia   big          261.1
4     Brasil   big          207.6
5      Japan   big          127.6
Out[78]: 
   Country  Label  Population, M
0        1      1         1403.5
1        2      1         1324.2
2        5      0          322.2
3        3      0          261.1
4        0      0          207.6
5        4      0          127.6