Есть несколько способов сделать это в данный момент. Учитывая ваш пример:
>>> import astropy.units as u
>>> data = [1, 2, 3] * u.g
>>> data
<Quantity [1., 2., 3.] g>
Вы можете сделать это:
>>> data.value * u.kg
<Quantity [1., 2., 3.] kg>
Или это:
>>> data * u.kg / data.unit
<Quantity [1., 2., 3.] kg>
Или это:
>>> data._unit = u.kg
>>> data
<Quantity [1., 2., 3.] kg>
Ни один из этих способов не копирует массив Numpy, так что с точки зрения производительности для многих приложений все в порядке.
Я не думаю, что существует метод, позволяющий установить data._unit
, не достигнув личного элемента данных. Это немного обсуждалось (в контексте объектов Column и Quantity) здесь , и я думаю, что был сделан вывод, что метод set_unit
был бы полезным дополнением, но он еще не реализован. Таким образом, вы можете открыть вопрос с этим запросом функции здесь .