有人可以解释一下List 大小的区别吗?一旦它是(x,1)和另一个(x,)。我想我得到了一个idexError。
print(Annotation_Matrix)
[array([[1],
...,
[7],
[7],
[7]], dtype=uint8)]
print(idx)
[array([ True, True, True, ..., False, False, False], dtype=bool)]
P.S。左边的一个是用
创建的matlabfile.get(...)
正确的
in1d(...)
答案 0 :(得分:1)
尺寸(x,1)的阵列A是x行和1列(2维)的矩阵,其与尺寸(1,x)的A.T不同。它们具有相同的元素,但具有不同的“方向”。 大小为(x,)的数组B是x坐标(1维)的向量,没有任何方向(它不是行也不是列)。这只是一个元素列表。
在第一种情况下,可以使用A [i,:]访问元素,该元素与A [i,0]相同(因为它只有一列)。 在后面,调用B [i,:]会导致错误,因为数组B只有一个维度。正确的电话是B [i]。
我希望这有助于您解决问题。