我不明白为什么我的切片操作不起作用。我的意图是将切片[:: 2]应用于a的每个子数组,以使x的大小为(3,5),但事情并没有按预期进行。
a = np.arange(0,30)
a.shape = (3, -1)
x = a[:][::2]
a : array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])
实际输出是
x: array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])
所需的输出是
x : array([0, 2, 4, 6, 8],
[10, 12, 14, 16, 18],
[20, 22, 24, 26, 28])
答案 0 :(得分:2)
错别字:
x = a[:,::2]
否则,请在第一个维度上选择完整的数组,然后再次执行相同操作,第一个维度而不是第二个维度。