@@ -145,7 +145,10 @@ def materialize_alias0(self, name, dtype=None):
145145 result = eval (self .aliases [name ], self ._default_functions (), local_env )
146146 result_dtype = dtype or self .alias_dtypes .get (name )
147147 if result_dtype is not None :
148- result = result .astype (result_dtype )
148+ try :
149+ result = result .astype (result_dtype )
150+ except AttributeError :
151+ result = result_dtype (result )
149152 if name not in self .constant_aliases :
150153 self .df [name ] = result
151154
@@ -178,7 +181,10 @@ def visit(n):
178181 result = eval (self .aliases [alias ], self ._default_functions (), local_env )
179182 result_dtype = dtype or self .alias_dtypes .get (alias )
180183 if result_dtype is not None :
181- result = result .astype (result_dtype )
184+ try :
185+ result = result .astype (result_dtype )
186+ except AttributeError :
187+ result = result_dtype (result )
182188 self .df [alias ] = result
183189 except Exception as e :
184190 print (f"Failed to materialize { alias } : { e } " )
@@ -199,7 +205,10 @@ def materialize_all(self, dtype=None):
199205 result = eval (self .aliases [name ], self ._default_functions (), local_env )
200206 result_dtype = dtype or self .alias_dtypes .get (name )
201207 if result_dtype is not None :
202- result = result .astype (result_dtype )
208+ try :
209+ result = result .astype (result_dtype )
210+ except AttributeError :
211+ result = result_dtype (result )
203212 self .df [name ] = result
204213 except Exception as e :
205214 print (f"Failed to materialize { name } : { e } " )
0 commit comments