@@ -64,20 +64,17 @@ def _check_not_pandas_sparse_pandas(df):
6464
6565
6666def _check_is_dataframe (df ):
67+ if sbd .is_lazyframe (df ):
68+ warnings .warn (
69+ "At the moment, skrub only works on eager DataFrames, calling collect()."
70+ )
71+ df = sbd .collect (df )
6772 if not sbd .is_dataframe (df ):
6873 raise TypeError (
6974 "Only pandas and polars DataFrames are supported. Cannot handle X of"
7075 f" type: { type (df )} ."
7176 )
72-
73-
74- def _collect_lazyframe (df ):
75- if not sbd .is_lazyframe (df ):
76- return df
77- warnings .warn (
78- "At the moment, skrub only works on eager DataFrames, calling collect()."
79- )
80- return sbd .collect (df )
77+ return df
8178
8279
8380class CheckInputDataFrame (TransformerMixin , BaseEstimator ):
@@ -122,7 +119,7 @@ def fit(self, X, y=None):
122119 def fit_transform (self , X , y = None ):
123120 del y
124121 X = self ._handle_array (X )
125- _check_is_dataframe (X )
122+ X = _check_is_dataframe (X )
126123 self .module_name_ = sbd .dataframe_module_name (X )
127124 # TODO check schema (including dtypes) not just names.
128125 # Need to decide how strict we should be about types
@@ -133,13 +130,12 @@ def fit_transform(self, X, y=None):
133130 if sbd .column_names (X ) != self .feature_names_out_ :
134131 X = sbd .set_column_names (X , self .feature_names_out_ )
135132 _check_not_pandas_sparse (X )
136- X = _collect_lazyframe (X )
137133 return X
138134
139135 def transform (self , X ):
140136 check_is_fitted (self , "module_name_" )
141137 X = self ._handle_array (X )
142- _check_is_dataframe (X )
138+ X = _check_is_dataframe (X )
143139 module_name = sbd .dataframe_module_name (X )
144140 if module_name != self .module_name_ :
145141 raise TypeError (
@@ -161,7 +157,6 @@ def transform(self, X):
161157 if sbd .column_names (X ) != self .feature_names_out_ :
162158 X = sbd .set_column_names (X , self .feature_names_out_ )
163159 _check_not_pandas_sparse (X )
164- X = _collect_lazyframe (X )
165160 return X
166161
167162 def _handle_array (self , X ):
0 commit comments