Skip to content

Commit abd5d51

Browse files
committed
feat(alias): Add fill_value parameter to add_alias()
Optional fill_value replaces inf/NaN after evaluation: adf.add_alias('dsectorM', '18*((y+dy)/x)/pi', fill_value=0) Stored in schema for roundtrip preservation. 8 lines changed.
1 parent 4c45c4d commit abd5d51

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

UTILS/dfextensions/AliasDataFrame/tests/test_alias_dataframe.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2552,5 +2552,23 @@ def test_export_tree_columns_warns_subframes(self):
25522552
self.assertEqual(w[0].category, UserWarning)
25532553

25542554

2555+
def test_fill_value_replaces_inf_nan(self):
2556+
df = pd.DataFrame({'x': [1.0, 0.0, 2.0, -0.0]})
2557+
adf = AliasDataFrame(df)
2558+
adf.add_alias('y', '1/x', fill_value=0)
2559+
adf.materialize_alias('y')
2560+
result = adf.df['y'].values
2561+
assert result[0] == 1.0
2562+
assert result[1] == 0.0
2563+
assert result[2] == 0.5
2564+
assert result[3] == 0.0
2565+
2566+
def test_fill_value_none_preserves_inf(self):
2567+
df = pd.DataFrame({'x': [1.0, 0.0]})
2568+
adf = AliasDataFrame(df)
2569+
adf.add_alias('y', '1/x')
2570+
adf.materialize_alias('y')
2571+
assert np.isinf(adf.df['y'].values[1])
2572+
25552573
if __name__ == "__main__":
25562574
unittest.main()

0 commit comments

Comments
 (0)