如果我有多维numpy数组,如何动态引用特定切片?

时间:2018-10-11 20:25:27

标签: python numpy

假设我有一个这样的numpy数组

import numpy as np
array_shape = (5,6,7,8,9,4)
big_array = np.random.random(array_shape)

如果我想调用特定的切片,我需要知道轴和索引,即

small_array = big_array[:,:,3,:,:,:]

我希望能够编写一个在给定参数(2,3)(即第三轴,第四索引)时返回“ small_array”的函数。问题是我看不到如何正确设置参数格式。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用numpy.takebig_array[:,:,3,:,:]等同于np.take(big_array, 3, axis=2)

(big_array[:,:,3,:,:] == np.take(big_array, 3, axis=2)).all()
# True