我整天都在 dask 的网站上,但它仍然不适合我。
我有数据框,不同的列需要不同的预处理:
pipe = make_pipeline(
OneHotEncoder(),
LabelEncoder(),
QuantileTransformer(n_quantiles=20, output_distribution='uniform')
)
pipe.fit(df[['Exchange', 'CurrencyCode']],
df[['ticker', 'year']],
df['revenue','expenses'])
这是我正在做的一个例子。我正在尝试采用不同的列并以不同的方式对待它们。但是在执行上述操作时出现此错误:
TypeError: fit() takes from 2 to 3 positional arguments but 4 were given
我尝试做的另一件事是 ColumnTransformer:
ct = ColumnTransformer(
[("norm1", OneHotEncoder(), ['Exchange', 'CurrencyCode']),
("norm2", StandardScaler(), ['revenue','expenses'])
])
ct.fit_transform(main_dataframe)
我收到此错误:
NotImplementedError: `df.column.cat.categories` with unknown categories is not supported. Please use `column.cat.as_known()` or `df.categorize()` beforehand to ensure known categories
我很困惑这样做的正确方法是什么?