1.numpy:NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
2.基础操作:
import numpy as np #创建数组 list_array=[1,2,3] print(np.array([list_array,list_array])) #创建全为0的数组 print(np.zeros(shape=(3,4))) #创建全为1的数组 print(np.ones(shape=(3,4))) #创建单位矩阵 print(np.eye(3,4)) #创建支持浮点数的数组 print(np.arange(1,10,0.5)) #创建不支持浮点数的数组 print(range(1,10,2)) #创建0-1的随机数 print(np.random.rand(10)) #创建10个服从标准正态分布的随机数 print(np.random.randn(10)) #创建1-10的随机数 print(np.random.randint(10)) #查看数组的维度 array_test=np.array([list_array,list_array]) print(array_test.ndim) #查看数组的行数和列数 print(array_test.shape) #查看数组元素的元素总个数 print(array_test.size) #查看数组的数据类型 print(array_test.dtype) #访问元素 b=np.array([[1,2,3], [4,5,6], [7,8,9]]) print(b[1:,1:])#得到5,6,8,9冒号的意思是访问第2行及以后 print(b[0:2,0:2]) #将数组转换成矩阵 c=b.reshape(3,3) print(c) #矩阵间的乘法 e=np.matrix(np.arange(12).reshape(3,4)) print(c.dot(e))
import numpy as np a=np.arange(6).reshape(2,3) b=np.arange(3).reshape(1,3) c=np.arange(8).reshape(2,4) #axis为0 按照垂直方向合并数组,列数相同 print(np.concatenate([a,b],axis=0)) print(np.vstack([a,b])) #axis为1,按照水平方向合并数组,行数相同 print(np.concatenate([a,c],axis=1)) print(np.hstack([a,c])) #数组的分割 d=np.arange(8) print("d为:") print(d) print(np.split(d,[2,5]))#分成3部分0-1,2-4,5以后 print(np.split(d,2))#平均分成2部分 #矩阵的分割 print(np.split(c,2,axis=0))#将矩阵按照水平方向分割成2部分 print(np.split(c,2,axis=1))#将矩阵按照垂直方向分割成两部分 #求一维数组的元素和,最大值,最小值 print(np.sum(d)) print(np.min(d)) print(np.max(d)) #多维度数组聚合 print(np.sum(a,axis=0))#将a的每一列相加,axis=1将a的每一行相加 print(np.mean(a))#取整个矩阵的均值,同样可以有axis参数 #分位数 print(np.percentile(d,q=25))#d数组中25%的数小于打印出的这个数
所学时间 | 3个小时 |
博客量 | 1篇 |
代码量 | 行 |
所学知识 | Numpy基础操作 |