On Thu, Apr 7, 2022 at 10:51 AM Stephen J. Turnbull < stephenjturnb...@gmail.com> wrote:
> NOTE: The big problem I see with this is that I don't see any > practical way to use syntax for non-numeric types like ndarray. > The problem is that in, say, economics we use a lot of m x 2 > arrays where the two columns have different units (ie, a quantity > unit and a $/quantity unit). The sensible way to express this > isn't some kind of appended syntax as with numbers, but rather a > sequence of units corresponding to the sequence of columns. > Here's a few minutes of work by me: >>> df = pd.DataFrame([['Apples', 11, 2], ['Pears', 12, 3]], ... columns=[Units("Item", "Kind-of-Fruit"), Units("Per-Bushel", "USD/bushel"), Units("Number")]) ... ... >>> df Item Per-Bushel Number 0 Apples 11 2 1 Pears 12 3 >>> df.columns[1].units 'USD/bushel' I did this by defining: >>> class Units(str): ... def __new__(self, s, units="Dimensionless"): ... return str.__new__(self, s) ... def __init__(self, s, units="Dimensionless"): ... float.__init__(s) ... self.units = units If this were actually needed, I'm sure better interfaces could be created. But this very simple thing is a possible way to retain units per-column. -- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/5GC5PZJJDHZRMIG7X46GDUCQOQSM5I5H/ Code of Conduct: http://python.org/psf/codeofconduct/