Skip to content

Commit 60e26cb

Browse files
author
miranov25
committed
special treatment for constants
1 parent 9087f54 commit 60e26cb

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

UTILS/dfextensions/AliasDataFrame.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)