Python 我需要有关Numpy阵列的帮助

Python 我需要有关Numpy阵列的帮助,python,Python,它的给予 [1,2,3,4,5]] 它必须给予 [[1,2,3]] 为什么会发生这种情况试试这个: array = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]) print(array[0:1][0:3]) 结果: print(array[0:1,0:3]) 为什么会这样 您在2D数组上执行的操作可能被解读为包含1个顶行的2D数组,然后在结果处执行的操作是2D数组,因此可能被解读为包含3个顶行的2D数组,因为已经有1行只有2D数组

它的给予

[1,2,3,4,5]]

它必须给予

[[1,2,3]]

为什么会发生这种情况

试试这个:

array = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
print(array[0:1][0:3])
结果:

print(array[0:1,0:3])
为什么会这样

您在2D数组上执行的操作可能被解读为包含1个顶行的2D数组,然后在结果处执行的操作是2D数组,因此可能被解读为包含3个顶行的2D数组,因为已经有1行只有2D数组有一行结束。 如果是这样,我希望下面简单的
list
示例会有所帮助:

[[1 2 3]]

尝试此修改:

x = [1,2,3,4,5,6,7]
y = x[0:3][0:5]
print(y)  # [1, 2, 3]

您使用2D数组,这就是为什么您尝试

  • 打印(数组[0:1][0:3]) 然后根据0索引以2D数组形式输出
  • [[1 2 3 4 5]
如果你试试这个

  • 打印(数组[0][0:3]) 然后输出在1D数组中
  • [1 2 3]
如果需要二维输出,则切片设置为

  • 打印(数组[0:1,0:3]) 输出为二维阵列
  • [[1 2 3]]

第一部分需要索引而不是切片:
print(数组[0][0:3])
@omsel try print(数组[0:2])
print(array[:1][0][:3])