Ошибка атрибута: модуль ‘metpy.units’ не имеет атрибута ‘узлы’

#units-of-measurement #metpy

#единицы измерения #metpy

Вопрос:

Я пытаюсь добавить базовые единицы в свой массив для выполнения вычислений с помощью Metpy. Использование вызова функции metpy.units.meters (или .knots или .degrees) не работает.

Вот мой фрагмент кода:

 import metpy.units as mpunits

...

wind_speed = webSKNT.values * mpunits.knots
wind_dir = webDRCT .values * mpunits.degrees
webu, webv = mpcalc.wind_components(wind_speed, wind_dir)
 

где webknt и webDRCT являются фреймами данных pandas.

Вот ошибка, которую я продолжаю получать: ошибка атрибута: модуль ‘metpy.units’ не имеет атрибута ‘узлы’

и я получаю аналогичную ошибку, если попробую: mpunits.meters

Ответ №1:

Если вы выполняете импорт таким образом, вам нужно сделать:

 mpunits.units.knots
 

Обычно мы предлагаем канонический способ получения реестра единиц:

 from metpy.units import units
 

который затем позволяет вам записывать:

 units.knots