@@ -1335,6 +1335,30 @@ def test_pipeline_make_column_selector(self):
13351335 )
13361336 assert_almost_equal (expected , got [0 ])
13371337
1338+ @unittest .skipIf (TARGET_OPSET < 11 , reason = "SequenceConstruct not available" )
1339+ @unittest .skipIf (not check_scikit_version (), reason = "Scikit 0.21 too old" )
1340+ @ignore_warnings (category = (FutureWarning , UserWarning ))
1341+ def test_pipeline_empty_make_column_selector (self ):
1342+ X = pandas .DataFrame ({"city" : ["London" , "London" , "Paris" , "Sallisaw" ]})
1343+
1344+ ct = make_column_transformer (
1345+ (StandardScaler (), make_column_selector (dtype_include = numpy .number )),
1346+ (OneHotEncoder (), make_column_selector (dtype_include = object )),
1347+ )
1348+ expected = ct .fit_transform (X )
1349+ onx = to_onnx (ct , X , target_opset = TARGET_OPSET )
1350+ sess = InferenceSession (
1351+ onx .SerializeToString (), providers = ["CPUExecutionProvider" ]
1352+ )
1353+ names = [i .name for i in sess .get_inputs ()]
1354+ got = sess .run (
1355+ None ,
1356+ {
1357+ names [0 ]: X [names [0 ]].values .reshape ((- 1 , 1 )),
1358+ },
1359+ )
1360+ assert_almost_equal (expected , got [0 ])
1361+
13381362 @unittest .skipIf (not check_scikit_version (), reason = "Scikit 0.21 too old" )
13391363 def test_feature_selector_no_converter (self ):
13401364 class ColumnSelector (TransformerMixin , BaseEstimator ):
0 commit comments