Python 索引器:np.array的索引太多

Python 索引器:np.array的索引太多,python,python-3.x,numpy,scipy,Python,Python 3.x,Numpy,Scipy,我希望这样做,我有一个包含坐标的ndarray,还有一个包含值,这是scipy.interpolate.griddata所要求的 import numpy p = {(1,2):10, (0,2):12, (2,0):11} coords, values = np.array([(np.array(k),v) for k,v in p.items()]).T 但是,我也希望能够做到以下几点: x = coords[:,0] y = coords[0,:] np.mgrid[x.min():x.

我希望这样做,我有一个包含坐标的ndarray,还有一个包含值,这是scipy.interpolate.griddata所要求的

import numpy
p = {(1,2):10, (0,2):12, (2,0):11}
coords, values = np.array([(np.array(k),v) for k,v in p.items()]).T
但是,我也希望能够做到以下几点:

x = coords[:,0]
y = coords[0,:]
np.mgrid[x.min():x.max():5j, y.min():y.max():5j]
但是,我得到了一个错误:

IndexError: too many indices for array
对于
x=coords[:,0]。


我做错了什么?

因为您将
np.array
放入
np.array
中,内部
np.array
是一个整体,外部
np.array
无法识别。事实上,您的
coords
具有形状
(3,)

正确的方法:

coordsx, coordsy, values = np.array([(kx, ky, v) for (kx, ky), v in p.items()]).T

如何从coordsx,coordsy生成coords?
np.stack((coordsx,coordsy)).T
,然后
[:,0]
是x,
[:,1]
是y。