sklearn.compose.make_column_selector?

sklearn.compose.make_column_selector(pattern=None, *, dtype_include=None, dtype_exclude=None)

[源碼]

創建一個可調用的列,以選擇列與 ColumnTransformer一起使用。

make_column_selector可以根據數據類型或帶有regex的列名選擇列。當使用多個選擇標準時,所有條件都必須匹配要選擇的列。

參數 說明
pattern str, default=None
將包括包含此regex模式的列的名稱。如果沒有,則不會根據模式選擇列。
dtype_include column dtype or list of column dtypes, default=None
要包含的數據類型的選擇。有關更多細節,請參見pandas.DataFrame.select_dtypes
dtype_exclude column dtype or list of column dtypes, default=None
要排除的數據類型的選擇。有關更多細節,請參見pandas.DataFrame.select_dtypes
返回值 說明
selector callable
可調用列選擇,以供ColumnTransformer使用。

另見

該類允許將數據列子集上使用的多個轉換器對象的輸出組合到單個要素空間中。

示例

>>> from sklearn.preprocessing import StandardScaler, OneHotEncoder
>>> from sklearn.compose import make_column_transformer
>>> from sklearn.compose import make_column_selector
>>> import pandas as pd  # doctest: +SKIP
>>> X = pd.DataFrame({'city': ['London''London''Paris''Sallisaw'],
...                   'rating': [5345]})  # doctest: +SKIP
>>> 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)  # doctest: +SKIP
array([[ 0.90453403,  1.        ,  0.        ,  0.        ],
       [-1.50755672,  1.        ,  0.        ,  0.        ],
       [-0.30151134,  0.        ,  1.        ,  0.        ],
       [ 0.90453403,  0.        ,  0.        ,  1.        ]])

sklearn.compose.make_column_selector使用示例?