我导入了一个数据集并尝试创建单独的分类数据列。当传递的对象正确时,这里出现什么问题?
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
Y = dataset.iloc[:, 3].values
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
ct = ColumnTransformer(['encoder', OneHotEncoder(),[0]], remainder='passthrough')
X = np.array(ct.fit_transform(X), dtype=np.float)
没有语法错误,但生成了错误。
最佳答案
检查ColumnTransformer
的语法。这可能非常棘手..但快速解决方案是将此定义用于 ct
ct = ColumnTransformer([('编码器', OneHotEncoder(),[0])], 剩余='passthrough')
注意列表中定义的元组。
正如您从文档 ( https://scikit-learn.org/stable/modules/generated/sklearn.compose.ColumnTransformer.html ) 中看到的,输入参数 transfomers
表示
参数:
变压器:元组列表
希望现在更有意义:)
关于python - Zip 参数 #2 必须支持迭代。为什么重新分配 ndarray 时会生成此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58256588/