python中会使用“:”等符号对数组进行简化表示,如
1. x[:,n]
表示一个数组中第一维取所有数据,第二维取下标为n的数据,即取第二维下标为n的所有数据
eg:
x=np.array([[1,1,2],[2,1,3],[3,1,2],[3,3,3],[3,3,2],[1,0,1]])
print("x[:,1]:",x[:,1],"x[:,2]:",x[:,2])
#输出:x3[:,1]: [1 1 1 3 3 0] x3[:,2]: [2 3 2 3 2 1]
2. x[n,:]
表示一个数组中第一维取下标为n的数据,第二维取所有数据,即取第一维下标为n的所有数据
eg:
x=np.array([[1,1,2],[2,1,3],[3,1,2],[3,3,3],[3,3,2],[1,0,1]])
print("x[1,:]:",x[1,:],"x[2,:]:",x[2,:])
#输出:x3[1,:]: [2 1 3] x3[2,:]: [3 1 2]
3. x[m:n]
表示一个数组中第一维中从下标为m到下标为n(不包括n)的所有数据
eg:
x=np.array([[1,1,2],[2,1,3],[3,1,2],[3,3,3],[3,3,2],[1,0,1]])
print(x[1:3])
#输出:[[2 1 3]
# [3 1 2]]
4. x[:,m:n]
表示一个数组中第一维取所有数据,第二维取下标从m到n(不包括n)的数据
eg:
x=np.array([[1,1,2,1],[2,1,3,1],[3,1,2,2],[3,3,3,3],[3,3,2,3],[1,0,1,1]])
print(x[:,1:3])
#输出:[[1 2]
# [1 3]
# [1 2]
# [3 3]
# [3 2]
# [0 1]]
5. x[m:n,:]
表示一个数组中第一维取下标从m到n(不包括n)的数据,第二维取所有数据
eg:
x=np.array([[1,1,2,1],[2,1,3,1],[3,1,2,2],[3,3,3,3],[3,3,2,3],[1,0,1,1]])
print(x[1:3,:])
#输出:[[2 1 3 1]
# [3 1 2 2]]
6.x[m:n:l]
表示一个维度从m取到n(不包括n),步长为l
eg:
x=np.array([1,2,3,4,5])
y=x[1:4:2]
print(y)
#输出: [2,4]
当m缺少时,此时m默认为-1,等效为x[-1:n:l]
eg:
x=np.array([1,2,3,4,5])
y=x[:4:2]
print(y)
# 输出: [1,3]
当n缺少时,若l为非负,n默认为len(x),若l为负,n默认为-len(x)-1
eg:
x=np.array([1,2,3,4,5])
y=x[1::1]
print(y)
#输出: [2,3,4,5]
当l为-1时,表示倒序数位,步长为1,而m,n都缺少时,表示倒数一遍整个数组
eg:
x=np.array([1,2,3,4,5])
y=x[::-1]
print(y)
#输出: [5,4,3,2,1]
# 总结:数组中用‘,’隔离维度,用‘:’表示所有数据