You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Metpy输出转换为Numpy变量并提取风向值复用?

提取Metpy风向计算结果为Numpy数组

Metpy的mpcalc.wind_direction返回的是带物理单位的Quantity对象(基于pint或xarray实现),要将其转换为可复用的Numpy数组,只需提取其数值部分,以下是两种常用方法:

方法1:使用.values属性

直接通过.values获取底层的Numpy数组,这是最直接的实现方式:

import metpy.calc as mpcalc
import numpy as np
from metpy.units import units  # 原代码缺少该导入,需补充

# 生成测试数据
np.random.seed(19990503)
u = np.random.randint(0, 15, 10) * units('m/s')
v = np.random.randint(0, 15, 10) * units('m/s')

# 计算风向
direction = mpcalc.wind_direction(u, v)

# 转换为Numpy数组
direction_np = direction.values

# 验证结果
print(type(direction_np))  # 输出 <class 'numpy.ndarray'>
print(direction_np)

方法2:使用.magnitude属性

如果是基于pint的Quantity对象,.magnitude同样可以提取纯数值并返回Numpy数组,效果与.values一致:

direction_np = direction.magnitude

注意事项

  • 原代码遗漏了from metpy.units import units的导入,运行时会触发报错,必须补充。
  • 转换后的Numpy数组不再包含单位信息,若后续流程需要保留单位,建议同时保留原direction对象,仅在需要纯数值场景下提取数组。

内容的提问来源于stack exchange,提问作者Tee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:42:01