我的问题是关于numpy中的数组切片.以下行为的逻辑是什么?
x = arange(25)
x.shape = (5, 5)
# This results in a 2-d array in which rows and columns are excerpted from x
y = x[0:2, 0:2]
# But this results in a 1-d array
y2 = x[0:2, 0]
Run Code Online (Sandbox Code Playgroud)
我希望y2是一个二维数组,其中包含第0行和第0列第0列的值.
您可以获得预期的行为x[0:2, 0:1]
,即使用单个项目切片.但是,只要选择了单个元素,该尺寸就会折叠.你可能不喜欢它,但是如果你想一点,你应该意识到它是最一致的行为:遵循你的逻辑,x[0, 0]
将是一行1列和1列的二维数组,而不是存储在那个位置的项目.