我试图了解print语句中发生了什么。 我知道索引正在创建一个2D数组,但是我不了解顺序
x = np.arange(0,2*np.pi,0.001)
X = np.concatenate(([x], [np.ones(y.shape[0])]), axis=0)
print(X[[[0,1],[0,1]],[[0,0],[-1,-1]]])
产生:
array([[0. , 1. ],
[6.283, 1. ]])
答案 0 :(得分:0)
我调查了documentation,并认为下面的示例应解释该索引编制:
应从4x3数组中使用高级索引选择拐角元素。因此,需要选择列为[0,2]之一而行为[0,3]之一的所有元素。要使用高级索引,需要明确选择所有元素。使用前面解释的方法,可以编写:
x = array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[9, 10, 11]])
rows = np.array([[0, 0],
[3, 3]], dtype=np.intp)
columns = np.array([[0, 2],
[0, 2]], dtype=np.intp)
x[rows, columns]
最后一行给出
array([[0, 2],
[9, 11]])
您问题中的代码似乎执行与该示例相同的操作(但具有其他值),但是直接敲击索引而不是创建rows
和columns
。
X[[[0, 1], [0, 1]], [[0, 0], [-1, -1]]]
可能被读取为get元素,它们从0
开始(在第0
或第1
行中)和(在0
中或最后一列)