如何理解numpy array 的index slicing

假设有个numpy array

x = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])

这时候运行如下代码


a = x[1, :]
b = x[1:2, :]
print(a.shape)
print(b.shape)

请问为什么a.shape是(4,), b.shape是(1,4)? 他们不都应该是(4,)吗?
我查阅了官方文档,但是仍然不得解

阅读 2.5k
1 个回答
a = np.array([5,6,7,8]) # a是1维array,也就是一个向量,这一个维上维度是4,所以shape是(4,)
b = np.array([[5,6,7,8]]) # b是2维array,也就是一个矩阵,是一个1×4的矩阵,所以shape是(1,4)
c = np.array([[5],[6],[7],[8]) # c是2维array,是一个4×1的矩阵,所以shape是(4,1)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题