1.np.concatenate()——数组拼接,可以拼接两个或多个数组
import numpy as np
a1=np.array([1,1,1])#1,3
b1=np.array([2,2,2])#1,3
A1=np.array([[1,1,1],[2,2,2]])#2,3
B1=np.array([[3,3,3],[4,4,4]])#2,3
np.concatenate((a1,b1),axis=0)#axis默认为0,可以不写
#输出:
array([1, 1, 1, 2, 2, 2])
np.concatenate((A1,B1),axis=0)
#输出:
array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4]])
np.concatenate((A1,B1),axis=1)#axis=1表示对应行数组拼接
#输出:
array([[1, 1, 1, 3, 3, 3],
[2, 2, 2, 4, 4, 4]])
2.np.zeros(shape,dtype=float,order='C')——返回给定形状和类型的用0填充的数组
shape:数组形状,可以一维(如2)或者多维(如(2,3))
dtype:数据类型,如np.int8,np.float64
order:当为‘C'时,以行为先,当为'F'时,以列为先
import numpy as np
np.zeros(3,dtype=np.float64,order='C')#一维,浮点数
#输出:
array([0., 0., 0.])
np.zeros((2,3),dtype=np.int8,order='F')#二维,整数
#输出:
array([[0, 0, 0],
[0, 0, 0]], dtype=int8)
3.np.transpose()——改变数组序列
对于二维矩阵
import numpy as np
a=np.arange(4).reshape(2,2) #arange(4)为0,1,2,3,reshape改变数组形状,此处变为2维矩阵
print(a)
#输出:
[[0 1]
[2 3]]
#各数据对应的坐标
a[0][0]==0
a[0][1]==1
a[1][0]==2
a[1][1]==3
a.transpose(0,1) #表示按照原坐标轴改变序列,也就是保持不变
#输出:
array([[0, 1],
[2, 3]])
a.transpose(1,0) #表示交换 ‘0轴’ 和 ‘1轴’,改变了坐标轴序列
#输出:
array([[0, 2],
[1, 3]])
#改变后各数据对应的坐标
a[0][0]==0
a[1][0]==1
a[0][1]==2
a[1][1]==3
对于三维矩阵
import numpy as np
b=np.arange(16).reshape(2,2,4)
#arange(16)为0到15,reshape转变为3维矩阵
print(b)
#输出:
[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
#各数据对应的坐标
b[0][0][0] == 0
b[0][0][1] == 1
b[0][0][2] == 2
b[0][0][3] == 3
b[0][1][0] == 4
b[0][1][1] == 5
b[0][1][2] == 6
b[0][1][3] == 7
b[1][0][0] == 8
b[1][0][1] == 9
b[1][0][2] == 10
b[1][0][3] == 11
b[1][1][0] == 12
b[1][1][1] == 13
b[1][1][2] == 14
b[1][1][3] == 15
b.transpose(0,1,2) #坐标轴不改变,矩阵保持不变
#输出:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
b.transpose(1,0,2) #表示交换 ‘0轴’ 和 ‘1轴’,‘2轴’不变
#输出:
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
#坐标轴变换后各数据对应的坐标
b[0][0][0] == 0
b[0][0][1] == 1
b[0][0][2] == 2
b[0][0][3] == 3
b[1][0][0] == 4
b[1][0][1] == 5
b[1][0][2] == 6
b[1][0][3] == 7
b[0][1][0] == 8
b[0][1][1] == 9
b[0][1][2] == 10
b[0][1][3] == 11
b[1][1][0] == 12
b[1][1][1] == 13
b[1][1][2] == 14
b[1][1][3] == 15
可以看到4,5,6,7和8,9,10,11的‘0轴’ 和 ‘1轴’发生了互换
np.transpose参考自:https://blog.csdn.net/qq_45083975/article/details/104393611?utm_medium=distribute.pc_relevant.none-task-blog-title-10&spm=1001.2101.3001.4242
4.enumerate()——遍历对象(如列表,字符串)
list1=["a","b","c"]
for id,name in enumerate(list1):
print(id,name)
#输出:
0 a
1 b
2 c