gpt4 book ai didi

scipy - 值错误 : invalid shape for input data points in griddata operation

转载 作者:行者123 更新时间:2023-12-01 15:20:31 25 4
gpt4 key购买 nike

使用 scipy.interpolate.griddata 时遇到错误。我的目标是使用 matplotlib 准备用于绘制轮廓的数据。我已经读到执行此操作的最佳方法是在传递给 griddata 之前使用 linspace 将 x any y 分离为一维数组。

我的 x 和 y 值的最小值和最大值用于输入到 linspace,以便为 GIS 制图目的保持坐标相同(不确定是否有必要将数据点放在同一个 xy 区域作为网格坐标,但我正在以任何方式这样做)

文件 Watertable CSV 被导入为具有 x、y 和 z 值的 numpy 数组。 z 作为直数组列索引提供给 griddata。

我遇到错误“valueError:输入数据点的形状无效”

我相信这是非常简单的事情,希望有人能阐明我的错误。

[编辑]

我已经按照建议使用 pastebin 链接了 csv 文件:

http://pastebin.com/nj7THgMw

import numpy as np
from scipy.interpolate import griddata
from numpy import genfromtxt


my_data = genfromtxt('WaterTable.csv', delimiter=',')
x = my_data[1:,0:1]
y = my_data[1:,1:2]
z = my_data[1:,2:3]

xmax = max(x)
xmin = min(x)
ymax = max(y)
ymin = min(y)

xi = np.linspace(xmin, xmax, 2000)

yi = np.linspace(ymin, ymax, 2000)

zi = griddata((x, y), z, (xi, yi), method='cubic')

我脚本然后退出并出现以下错误:
Traceback (most recent call last):
File "C:/Users/Hp/PycharmProjects/GISdev/Irregular_Grid03.py", line 60, in <module>
zi = griddata((x, y), z, (xi, yi), method='cubic')
File "C:\Python27\lib\site-packages\scipy\interpolate\ndgriddata.py", line 212, in griddata
rescale=rescale)
File "scipy/interpolate/interpnd.pyx", line 840, in scipy.interpolate.interpnd.CloughTocher2DInterpolator.__init__ (scipy\interpolate\interpnd.c:9961)
File "scipy/interpolate/interpnd.pyx", line 78, in scipy.interpolate.interpnd.NDInterpolatorBase.__init__ (scipy\interpolate\interpnd.c:2356)
File "scipy/interpolate/interpnd.pyx", line 123, in scipy.interpolate.interpnd.NDInterpolatorBase._check_init_shape (scipy\interpolate\interpnd.c:3128)
ValueError: invalid shape for input data points

最佳答案

您的阵列 x , yz是二维的,具有形状 (n, 1) . griddata期望一维数组(即形状为 (n,) )。

要解决此问题,请在从 my_data 中取出数组时在第二个索引位置使用单个索引而不是切片。 :

x = my_data[1:, 0]
y = my_data[1:, 1]
z = my_data[1:, 2]

关于scipy - 值错误 : invalid shape for input data points in griddata operation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32165900/

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