python - SimpleImputer TypeError:在“str”和“int”的实例之间不支持“<”
问题描述
当我尝试估算此数据集时遇到问题。当我尝试收集对象类项来估算它们时,它会引发此错误。
TypeError:“str”和“int”的实例之间不支持“<”
import pandas as pd
import numpy as np
from sklearn.impute import SimpleImputer
impNumeric = SimpleImputer(missing_values=np.nan, strategy='mean')
impCategorical = SimpleImputer(missing_values=np.nan,
strategy='most_frequent')
objects = group1.select_dtypes(include=np.object)
imputed = impCategorical.fit(objects).transform(objects) # line error
解决方案
我遇到了同样的问题,我找到了解决方法!object
能够包含类型的解释是一个很好的提示。就我而言,错误是:TypeError: '<' not supported between instances of 'str' and 'NoneType'
. 我仔细看了看:
df[df['categorical_column'].isnull()][categorical_columns]
确实,我混合了str
和None
。就我而言,修复明确说明了missing_values
论点:
imputer_mod = SimpleImputer(missing_values=None, strategy='most_frequent')
在你的情况下,你混合了str
and int
。检查您的缺失值是如何编码的(可能通过0
/ -1
/-99
等)并相应地调整您的missing_values
论点。这应该可以解决问题!
推荐阅读
- c++ - 如何让 VS Code 识别“constexpr”?
- android - 如何在一小行代码中编写 android 应用程序?
- android - 按钮文本格式不适用于旧 API
- c# - DDD - 实现授权不变量
- mysql - 高级查询代码错误 1064 MySQL
- c# - WinForms MessageBox 如何在内部工作
- javascript - 在Javascript中为黑盒函数添加回调
- latex - 减少 Latex 中节点标签的大小
- python - TensorFlow 的速记运算符有哪些?
- ionic2 - Ionic/Leaflet.js:如何从 L.Draw.Event.CREATED 事件中调用函数?