首页 > 解决方案 > 在 python 中,如果 v 是 (1,3) numpy 数组,为什么 v[0,:] (3,) 而 v[:,:] 是 (1,3)?

问题描述

我试图阅读numpy indexing docs,但仍不清楚为什么会这样。标题中提到的行为只是一种约定,还是我缺少一些潜在的设计决策?

谢谢。

标签: pythonnumpy

解决方案


这是因为您正在选择/切片单行,并且您从该行中获取形状为 (3,) 的所有元素。第二种方法是查找所有行,即使它只返回一行,它会将输出整形为行,因此是 (1,3) 形状。

有关图像,请参阅此帖子。https://stackoverflow.com/a/55581845/6361531


推荐阅读