0

我整天都在 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

我很困惑这样做的正确方法是什么?

4

0 回答 0