我有一列包含分类数据和一些nan值。我想填写nan值,而不是删除它们。一开始我真的不知道该怎么做-编码还是归因?我尝试首先使用LabelEncoder进行编码,然后尝试使用KNNImputer进行归因,但这对我不起作用。最后,我想使用OneHotEncoder获取正确格式的值,以将其用作ML模型的输入。我从这样的东西开始,但那是错误的:(
import numpy as np
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import LabelEncoder
from sklearn.impute import KNNImputer
data = ["coupe", "coupe", "SUV", "coupe", "SUV", "sedan", np.nan, "sedan", np.nan, "coupe"]
X = pd.DataFrame({"type": data})
le = LabelEncoder()
X = le.fit_transform(X)
我不知道该如何处理:
我将不胜感激。
LabelEncoder
如果与TypeError
一起使用,则会引发np.nan
。首先用虚拟字符串替换它们。并将其标签编码后,将与空值相对应的标签替换回np.nan
,这是在您应用KNNImputer