Python:采用Numpy数组的矩形子集

时间:2017-03-16 17:49:42

标签: python numpy

如何

c = np.arange(100).reshape([10,10])

然后

c[0:6,2:4]

可以成功获取数据的矩形子集,但这可以<?p?

c[np.arange(6),np.arange(2,4)]

我有以下代码,但我无法获取其工作所需的数据子集,请您帮我解决此问题?感谢

# Box length in z-direction
z_length = features['Radial_pktrD'].values * 2
# Box width in x-direction
x_width = features['Radial_Width_50'].values

# Create array of index numbers for z and x arrays
zindex = np.arange(0,len(z),1)
xindex = np.arange(0,len(x),1)

# Box1 - bottom left (peak)
zind = zindex[(z < radial_centre_z) & (z > radial_centre_z-z_length)]
xind = xindex[(x < radial_centre_x) & (x > radial_centre_x - x_width)]
x_peak1,z_peak1 = np.where(radial[xind,zind]==np.max(radial[xind,zind]))

我花了很长时间寻找这个问题的答案,到目前为止,我还没有找到任何与使用Numpy数组作为索引相对应的内容。以及如何做到这一点,因此我不相信这个问题与this question重复。我不是在询问高级选择,而是使用Numpy数组进行简单的选择。

我得到的错误在

x_peak1,z_peak1 = np.where(radial[xind,zind]==np.max(radial[xind,zind])) 

错误消息是

IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (19,) (31,)

我认为这实际上意味着你不能以这种方式使用Numpy数组

0 个答案:

没有答案