数组形状
1、改变数组形状.shape,.reshape
区别:.shape = 2,5 在原有数组上修改
.reshape(1,10)重新建立数组
2、新增维度np.newaxis
3、去除多余维度.squeeze()
4、转置 .transpose()
数组的连接
1、连接两个数组
.concatenate(),
np.vstack,
np.hstack
2、拉平
.flatten()
.ravel()
import numpy as np
'''
数组形状
1、改变数组形状.shape,.reshape
区别:.shape = 2,5 在原有数组上修改
.reshape(1,10)重新建立数组
2、新增维度np.newaxis
3、去除多余维度.squeeze()
4、转置 .transpose()
'''
array_0 =np.arange(10) #构造有序数组
print('array_0为:',array_0)
# >> array_0为: [0 1 2 3 4 5 6 7 8 9]
print('array_0 shape 为:',array_0.shape)
# >> array_0 shape 为: (10,)
# 改变数组形状
array_0.shape = 2,5 #将数组形状变为2行5列
print('array_0为:',array_0)
# >> array_0为: [[0 1 2 3 4]
# [5 6 7 8 9]]
array_1 = array_0.reshape(1,10) #将数组形状变为1行10列
print('array_1为:',array_1)
# >> array_1为: [[0 1 2 3 4 5 6 7 8 9]]
#2、新增维度np.newaxis
print('array_1形状:',array_1.shape)
# >> array_1形状: (1, 10)
array_2 = array_1[np.newaxis,:]
print('array_2形状:',array_2.shape)
# >> array_3形状: (10,)
#2、去除多余维度squeeze
array_3 = array_2.squeeze()
print('array_3形状:',array_3.shape)
# >> array_2形状: (1, 1, 10)
#4、转置
array_3.shape=2,5
print('转置后的array_3为:',array_3.transpose())
# >> 转置后的array_3为: [[0 5]
# [1 6]
# [2 7]
# [3 8]
# [4 9]]
'''
数组的连接
1、连接两个数组.concatenate(),np.vstack,np.hstack
2、拉平
.flatten()
.ravel()
'''
a = np.array([[132,54,64],[423,5245,234]])
b = np.array([[143,432,53],[588,345,253]])
#连接a,b .concatenate(),注意要以元组形式传入
c = np.concatenate((a,b)) #以元组格式传入,所以两个括号
print('连接a,b:',c)
# >> 连接a,b: [[ 132 54 64]
# [ 423 5245 234]
# [ 143 432 53]
# [ 588 345 253]]
##行连接a,b
print(np.vstack((a,b)))
# >> [[ 132 54 64]
# [ 423 5245 234]
# [ 143 432 53]
# [ 588 345 253]]
# 指定维度连接
c1 = np.concatenate((a,b),axis=1)
print('列连接:',c1)
# >> 列连接: [[ 132 54 64 143 432 53]
# [ 423 5245 234 588 345 253]]
#列连接a,b
print(np.hstack((a,b)))
# >> [[ 132 54 64 143 432 53]
# [ 423 5245 234 588 345 253]]
#拉平
#.flatten()
print(a.flatten())
# >> [ 132 54 64 423 5245 234]
#.ravel()
print(b.ravel())
# >> [143 432 53 588 345 253]