python - TypeError:不可排序的类型:str()> float()
Posted
技术标签:
【中文标题】python - TypeError:不可排序的类型:str()> float()【英文标题】:python - TypeError: unorderable types: str() > float() 【发布时间】:2016-05-20 12:57:09 【问题描述】:我有一个 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)
【问题讨论】:
你能显示你的 csv 文件内容吗? 你想对这些行做什么?放下它们? (dropna
) 填写 NaN 值? (fillna
)
不,我想将此行归类为数字。该行有字符。
您可以添加数据样本吗?也许 5-6 行和所需的输出。或者更好Minimal, Complete, and Verifiable example.
你的意思是pandas.factorize
?
【参考方案1】:
使用 ~isnull() 屏蔽 nan 值:
mask = ~dataset['v3'].isnull()
dataset['v3'][mask] = enc.fit_transform(dataset['v3'][mask])
另一种方法是使用 pandas.factorize 函数,它会自动处理 nans(分配它们 -1):
dataset['v3'] = dataset['v3'].factorize()[0]
【讨论】:
非常感谢:) dataset['v3'] = dataset['v3'].factorize()[0] 解决了我的问题以上是关于python - TypeError:不可排序的类型:str()> float()的主要内容,如果未能解决你的问题,请参考以下文章
python fbprophet错误,TypeError:'module'对象不可调用
“TypeError:'WebElement'对象不可迭代”错误代码python爬取
Python - TypeError:'int'对象不可迭代
Python:Concurrent.Futures 错误 [TypeError:'NoneType' 对象不可调用]