python - Zip 参数 #2 必须支持迭代。为什么重新分配 ndarray 时会生成此错误?

标签 python numpy scikit-learn

我导入了一个数据集并尝试创建单独的分类数据列。当传递的对象正确时,这里出现什么问题?

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/

相关文章:

python - 在 scipy 中创建新的发行版

python - 为什么我不能从下一个日期期间减去一个日期期间并转换为整数?

python - 跟踪1参数矩阵族的特征向量

python - 需要在预测值任务中的领域 ML 或 DL 中推荐方法

python - 雪花 Pandas pd_writer用NULL写入表

python - 将传感器数据保存到树莓派数据库

python-3.x - 如何计算数据帧列中 >=3 个连续 1 值的出现次数

python - n_jobs 在 sklearn 类中不起作用

python - MNIST 和 SGDClassifier 分类器

python - 如何仅基于 python3 中的\n 分行字符串?