У меня есть некоторые данные, которые я считываю в Python с помощью Pandas, и хочу отслеживать единицы измерения с помощью пакета Pint. Значения имеют диапазон масштабов, поэтому имеют смешанные единицы, например. длина в основном метры, но некоторые и сантиметры.
Например, данные:
и мне хотелось бы получить столбец length в какой-то форме, понятной Pint. Интеграция Pint с Pandas предполагает, что она поддерживает только весь столбец, имеющий один и тот же тип данных, что кажется разумным. Я доволен тем, что выбрана какая-то произвольная единица измерения (например, первая, наиболее распространенная или просто базовая единица СИ) и все выражено в ее терминах.
Я ожидал какого-то хорошего способа получаю от имеющихся у меня данных то, что ожидалось, но ничего не вижу.
Код: Выделить всё
import pandas as pd
import pint_pandas
length = pd.Series(['5.3 m', "72 cm"], dtype='pint[m]')
Совершенно неправильно делает, например:
выходы
Код: Выделить всё
0 5.3 m5.3 m
1 72 cm72 cm
dtype: pint[meter]
так что все остается просто в виде строк. Вызов length.pint.convert_object_dtype() не помогает, и все остается в виде строк.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... -of-column