Pandas DataFrame 中的 Neuraxle 选择列

Posted

技术标签:

【中文标题】Pandas DataFrame 中的 Neuraxle 选择列【英文标题】:Neuraxle Select Columns in Pandas DataFrame 【发布时间】:2021-05-07 18:18:32 【问题描述】:

从数据集中选择列子集的 NeurAxle 方法是什么?这就是我通过 sklearn 的方式:

class ColumnSelectTransformer(BaseEstimator, TransformerMixin):
    def __init__(self, columns):
        self.columns = columns

    def fit(self, X, y=None):
        return self

    def transform(self, X):
        if not isinstance(X, pd.DataFrame):
            X = pd.DataFrame(X)
        return X[self.columns]



# Set up SIMPLE FEATURES
simple_cols = ['BEDCERT', 'RESTOT', 'INHOSP', 'CCRC_FACIL',
               'SFF', 'CHOW_LAST_12MOS', 'SPRINKLER_STATUS',
               'EXP_TOTAL', 'ADJ_TOTAL']
    
simple_features = Pipeline([
    ('cst', ColumnSelectTransformer(simple_cols)),
    ('impute', SimpleImputer())
])

编辑:-

我认为这是一种解决方案,但我不是 100% 相信的。

class ColumnSelectTransformer(BaseTransformer, ForceHandleMixin):

    def __init__(self, required_columns):
        BaseTransformer.__init__(self)
        ForceHandleMixin.__init__(self)
        self.required_columns = required_columns

    def inverse_transform(self, processed_outputs):
        pass

    def fit(self, X, y=None):
        return self

    def transform(self, X):
        if not isinstance(X, pd.DataFrame):
            X = pd.DataFrame(X)
        return X[self.required_columns]

【问题讨论】:

【参考方案1】:

更新:已修复。在此处查看柱式变压器的使用示例: https://www.neuraxle.org/stable/examples/sklearn/plot_cyclical_feature_engineering.html#sphx-glr-examples-sklearn-plot-cyclical-feature-engineering-py


这已经有问题了:https://github.com/Neuraxio/Neuraxle/issues/168

我暂时不想使用 Pandas,而是使用提供的 ColumnTransformer:https://www.neuraxle.org/stable/api/neuraxle.steps.column_transformer.html

如果您能够对您的 Pandas Transformer 进行完全编码(并进行适当的单元测试),我们很高兴通过在 Neuraxle 上打开拉取请求并将您添加为贡献者来获得您的贡献。

在此之前,您可以编写一个简单的PandasToNumpy 步骤,在对transform 的调用中返回.values,然后通过提供所需列的整数而不是使用Neuraxle 的现有ColumnTransformer字符串。

另请注意,您可以从NonFittableMixin 继承以覆盖fit 作为返回自身而无需额外代码。

【讨论】:

了解会试一试。谢谢。

以上是关于Pandas DataFrame 中的 Neuraxle 选择列的主要内容,如果未能解决你的问题,请参考以下文章

Pandas:查找不在另一个DataFrame中的DataFrame行[重复]

使用均值合并 Pandas 中的 DataFrame

如何在 Pandas 中遍历 DataFrame 中的行

如何在 Pandas 中遍历 DataFrame 中的行

Pandas库中的DataFrame

Pandas.DataFrame.rename 方法中的参数“index”是啥?