类型错误:不可排序的类型:str() > float()



我有一个 csv 文件并且有 v3 列,但该列有一些"nan"行。除了行,我怎么能。

 dataset = pd.read_csv('mypath') 
    enc = LabelEncoder()
    enc.fit(dataset['v3'])
    print('fitting')
    dataset['v3'] = enc.transform(dataset['v3'])
    print('transforming')
    print(dataset['v3'])
    print('end')

编辑:V3列有A,C,B,A,C,D,,,A,S,就像那样,我想将其转换为(1,2,3,1,2,4,,,1,7)

使用 ~isnull() 屏蔽 nan 值:

mask = ~dataset['v3'].isnull()
dataset['v3'][mask] = enc.fit_transform(dataset['v3'][mask])

另一种方法是使用 pandas.factorize 函数,它会自动处理 nan(为它们分配 -1):

dataset['v3'] = dataset['v3'].factorize()[0]

相关内容

  • 没有找到相关文章

最新更新