def test_convert_to_ref_units_unknown_unit(self): df = pd.DataFrame([ [11, 12, 13], [21, 22, 23]], columns=['a', 'b', 'c']) cs = {n: ColumnMetadata(Unit(u)) for n, u in zip(['a', 'b', 'c'], ['m', 'mm', 'km'])} t = Table(df, name='Fool', col_specs=cs) cup_no_km = CustomUnitPolicy([ScaleUnitConversion(Unit('mm'), Unit('m'), 0.001)]) t_ref_no_km = t.convert_to_ref_units(cup_no_km, inplace=False, units_not_in_policy='ignore') assert t_ref_no_km.col_units == [Unit('m'), Unit('m'), Unit('km')] assert (np.array(t_ref_no_km.df) == np.array([[11, 0.012, 13], [21, 0.022, 23]])).all() with raises(ValueError): t.convert_to_ref_units(cup_no_km, inplace=False, units_not_in_policy='raise')
def test_convert_to_ref_units(self): df = pd.DataFrame([ [11, 12, 13], [21, 22, 23]], columns=['a', 'b', 'c']) cs = {n: ColumnMetadata(Unit(u)) for n, u in zip(['a', 'b', 'c'], ['m', 'mm', 'km'])} t = Table(df, name='Fool', col_specs=cs) cup = CustomUnitPolicy([ ScaleUnitConversion(Unit('mm'), Unit('m'), 0.001), ScaleUnitConversion(Unit('km'), Unit('m'), 1000)]) t_ref = t.convert_to_ref_units(cup, inplace=False) assert t_ref.col_units == [Unit('m')] * 3 assert (np.array(t_ref.df) == np.array([[11, 0.012, 13000], [21, 0.022, 23000]])).all()