Python 索引器:np.array的索引太多
我希望这样做,我有一个包含坐标的ndarray,还有一个包含值,这是scipy.interpolate.griddata所要求的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.
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。