python中冒号实际上有两个意思:
1.全部选择
matrix1[1, :]
表示matrix的第1行的所有元素
matrix1[:, 1]
表示matrix的第1列的所有元素
2. 表示区间
matrix1[1, 0:3]
表示matrix的第1行的索引为[0, 3)
的元素
matrix1[:, 0:3]
表示matrix的所有行的索引为[0, 3)列
的元素
matrix1[:, 0:10:2]
表示matrix的所有行的索引为[0, 10)列
的元素,步长为2
下面看例子:
from numpy import array
# 输出为5x4二维数组
X=array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16],
[17,18,19,20]])
# 第一种意思,默认全部选择:
# 如,X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素
print(X[:,0])
print(X[:,1])
# 第二种意思,指定范围,注意这里含左不含右
# 如,X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据的元素
print(X[:,1:3])
输出:
>>[ 1 5 9 13 17]
>>[ 2 6 10 14 18]
>>[[ 2 3]
[ 6 7]
[10 11]
[14 15]
[18 19]]
原文链接:https://blog.csdn.net/pnnngchg/article/details/79420357