bigframes.ml.compose.SQLScalarColumnTransformer#
- classbigframes.ml.compose.SQLScalarColumnTransformer(sql:str,target_column:str='transformed_{0}')[source]#
Wrapper for plain SQL code contained in a ColumnTransformer.
Create a single column transformer in plain sql.This transformer can only be used inside ColumnTransformer.
When creating an instance ‘{0}’ can be used as placeholderfor the column to transform:
SQLScalarColumnTransformer(“{0}+1”)
The default target column gets the prefix ‘transformed_’but can also be changed when creating an instance:
SQLScalarColumnTransformer(“{0}+1”, “inc_{0}”)
Examples:
>>>frombigframes.ml.composeimportColumnTransformer,SQLScalarColumnTransformer>>>importbigframes.pandasasbpd
>>>df=bpd.DataFrame({'name':["James",None,"Mary"],'city':["New York","Boston",None]})>>>col_trans=ColumnTransformer([...("strlen",...SQLScalarColumnTransformer("CASE WHEN{0} IS NULL THEN 15 ELSE LENGTH({0}) END"),...['name','city']),...])>>>col_trans=col_trans.fit(df)>>>df_transformed=col_trans.transform(df)>>>df_transformed transformed_name transformed_city0 5 81 15 62 4 15[3 rows x 2 columns]
SQLScalarColumnTransformer can be combined with other transformers, like StandardScaler:
>>>col_trans=ColumnTransformer([...("identity",SQLScalarColumnTransformer("{0}",target_column="{0}"),["col1","col5"]),...("increment",SQLScalarColumnTransformer("{0}+1",target_column="inc_{0}"),"col2"),...("stdscale",preprocessing.StandardScaler(),"col3"),...# ......])
Methods
__init__(sql[, target_column])
On this page