TypeError: 'OneHotEncoder' object is not iterable

TypeError: 'OneHotEncoder' object is not iterable

我正在尝试对以下数据集的分类变量使用 OneHotEncoding。

首先,我尝试转换 'Geography' 列。 这是我到目前为止所做的:

from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer 

ct = ColumnTransformer(['Geography',OneHotEncoder(categories='auto'),[1]],remainder='passthrough')
df_ = ct.fit_transform(df.values)

但是,当我尝试这样做时,出现以下错误:

谁能帮我理解为什么会出现这个错误以及如何解决这个问题?

ColumnTransformer 的输入参数存在语法错误。它需要一个元组列表。

变形金刚:元组列表

List of (name, transformer, columns) tuples specifying the transformer objects to be applied to subsets of the data.

尝试通过将编码器参数转换为元组来修复它

ct = ColumnTransformer([('Geography',OneHotEncoder(categories='auto'),[1])],remainder='passthrough')