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

如何解决Python中MetPy的'module 'metpy' has no attribute 'calc''错误?

解决MetPy AttributeError: module 'metpy' has no attribute 'calc'问题

你遇到的错误是因为MetPy 1.5.0版本中,calc是独立的子模块,无法直接通过metpy.calc访问,除非显式导入该子模块。

修改方案(二选一即可)

  • 方案一:导入metpy.calc子模块并使用别名
    调整代码的导入部分:
import metpy as mp
import metpy.calc as mpcalc
import numpy as np
import pandas as pd  # 补充缺失的pandas导入
from metpy.units import units

df = pd.read_csv('wind.csv', header=0)
u = (df['u10'].to_numpy()) * units("m/s")
v = (df['v10'].to_numpy()) * units("m/s")
df['speed'] = mpcalc.wind_speed(u, v)
  • 方案二:直接导入wind_speed函数
    如果只需要wind_speed这一个函数,可以直接导入:
import metpy as mp
import numpy as np
import pandas as pd  # 补充缺失的pandas导入
from metpy.units import units
from metpy.calc import wind_speed

df = pd.read_csv('wind.csv', header=0)
u = (df['u10'].to_numpy()) * units("m/s")
v = (df['v10'].to_numpy()) * units("m/s")
df['speed'] = wind_speed(u, v)

另外,你的代码中缺少pandas的导入语句,运行时会触发NameError: name 'pd' is not defined,上面的修改方案已经补充了这部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:44:57