我知道这个问题可能微不足道,但是我正在学习中。给定numpy
2D数组,我想使用切片方法获取一行行。例如,从下面的矩阵中,我只想提取前三行,所以从:
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]
[ 28 9 203 102]
[577 902 11 101]]
我想要:
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
我的代码实际上仍然缺少某些内容。我非常感谢。
X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [28, 9, 203, 102], [577, 902, 11, 101]]
X = np.array(X)
X_sliced = X[3,:]
print(X_sliced)
答案 0 :(得分:1)
可以将numpy矩阵视为列表的嵌套列表。元素1是列表1,元素2是列表2,依此类推。
您可以使用x [n]提取一行,其中n是您想要的行号。
您可以使用x [n:m]提取一定范围的行,其中n是第一行,m是最后一行。
如果省略n或m并执行x [n:]或x [:m],Python将使用列表的开头或开头来填充空白。例如,x [n:]将返回从n到末尾的所有行,而x [:m]将返回从开始到m的所有行。
您可以通过执行x [:3]来完成所需的工作,这相当于要求x [0:3]。