首页 > 解决方案 > 在 DataFrameMapper 中显式删除列

问题描述

考虑以下人工数据:

data = pd.DataFrame({'pet':['cat', 'dog', 'dog', 'fish', 
                            'cat', 'dog', 'cat', 'fish'],
                     'children': [4., 6, 3, 3, 2, 3, 5, 4],
                     'salary':   [90., 24, 44, 27, 32, 59, 36, 27]})

在 sklearnColumnTransformer中,我可以通过指定'drop'为转换器来删除我想要的任何列,如下所示:

clmn_trnsfrmr = ColumnTransformer([
        ('clmn_drpr', 'drop', ['pet'])]),
        ('scale', StandardScaler(), ['salary']),
'passthrough'])

有没有类似的方法sklearn-pandas DataFrameMapper可以完全删除我想要的列

标签: pythonscikit-learnsklearn-pandas

解决方案


文档 https://pypi.org/project/sklearn-pandas/1.5.0/ 说“仅保留 DataFrameMapper 中列出的列。要保留列但不对其应用任何转换,请使用 None 作为变压器”,所以不要列出您要删除的列。


推荐阅读