创建列选择器#
- class sklearn.compose.make_column_selector(pattern=None, *, dtype_include=None, dtype_exclude=None)[source]#
创建一个可调用对象,用于选择要与
ColumnTransformer
一起使用的列。make_column_selector
可以根据数据类型或使用正则表达式的列名称选择列。当使用多个选择条件时,必须满足**所有**条件才能选择列。有关如何在
ColumnTransformer
中使用make_column_selector
根据数据类型(即dtype
)选择列的示例,请参阅 混合类型列转换器。- 参数:
- patternstr,默认值=None
包含此正则表达式模式的列的名称将被包含。如果为 None,则不会根据模式选择列。
- dtype_include列数据类型或列数据类型列表,默认值=None
要包含的数据类型选择。更多详情,请参见
pandas.DataFrame.select_dtypes
。- dtype_exclude列数据类型或列数据类型列表,默认值=None
要排除的数据类型选择。更多详情,请参见
pandas.DataFrame.select_dtypes
。
- 返回值:
- selector可调用对象
供
ColumnTransformer
使用的列选择可调用对象。
另请参见
ColumnTransformer
允许将用于数据列子集的多个转换器对象的输出组合到单个特征空间中的类。
示例
>>> from sklearn.preprocessing import StandardScaler, OneHotEncoder >>> from sklearn.compose import make_column_transformer >>> from sklearn.compose import make_column_selector >>> import numpy as np >>> import pandas as pd >>> X = pd.DataFrame({'city': ['London', 'London', 'Paris', 'Sallisaw'], ... 'rating': [5, 3, 4, 5]}) >>> ct = make_column_transformer( ... (StandardScaler(), ... make_column_selector(dtype_include=np.number)), # rating ... (OneHotEncoder(), ... make_column_selector(dtype_include=object))) # city >>> ct.fit_transform(X) array([[ 0.90453403, 1. , 0. , 0. ], [-1.50755672, 1. , 0. , 0. ], [-0.30151134, 0. , 1. , 0. ], [ 0.90453403, 0. , 0. , 1. ]])
- __call__(df)[source]#
供
ColumnTransformer
使用的列选择可调用对象。- 参数:
- df形状为 (n_features, n_samples) 的数据框
从中选择列的数据框。