gpt4 book ai didi

python - 调用 scipy griddata 时出现类型错误

转载 作者:行者123 更新时间:2023-12-01 05:37:01 24 4
gpt4 key购买 nike

我在使用 scipy.interpolate 的 griddata 函数时遇到问题。我在沙箱中使用 griddata 开发了一个快速插值器,然后一旦我有了我喜欢的插值器,就将函数复制到我开发的更大模型中。这是函数:

def windGrid(*sensors):
"""Creates grids of wind speed components"""
xb = [0, 0, num_x, num_x]
yb = [0, num_y, num_y, 0]

xs = [s.lng for s in sensors]
ys = [s.lat for s in sensors]
us = [s.u for s in sensors]
vs = [s.v for s in sensors]

ub, vb = boundaryWeighting(*sensors)

x = xb+xs
y = yb+ys
u = ub+us
v = vb+vs

x_grid, y_grid = np.mgrid[0:num_x, 0:num_y]

zx = griddata((x, y), u, (x_grid, y_grid))
zy = griddata((x, y), v, (x_grid, y_grid))

return zx, zy

boundaryWeighting() 函数只是返回网格角点的风速分量,以便可以在其中进行插值。现在这是奇怪的部分......当我在沙箱中调用 griddata 时(即周围没有其他独立函数),它工作正常。但是,当在复制到的 python 文件中调用时,它会返回以下错误:

TypeError: griddata() takes at least 5 arguments (3 given)

根据 Scipy 文档,griddata 有 5 个参数,但最后两个是可选的。我尝试插入可选参数(即 method 和 fill_val),但随后出现此错误:

TypeError: griddata() got an unexpected keyword argument 'method'

因此,Python 解释器似乎在不同的 Python 文件中引用了不同版本/函数的 griddata。

这就是为什么这没有意义:1. 两个文件位于同一目录中,并且使用相同的解释器2.两个文件引用相同的Scipy版本0.12.0

我已经检查了所有变量/函数分配,没有重叠。有什么线索可以解释为什么会发生这种情况吗?

谢谢

最佳答案

您的某个文件中是否有类似 from matplotlib.pylab import * 的内容?您可能会遇到与 griddatamatplotlib 版本发生命名空间冲突的情况。

关于python - 调用 scipy griddata 时出现类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18705141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com