numpy模块
Posted manuel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy模块相关的知识,希望对你有一定的参考价值。
numpy属性:
ndim--维度,shape--行数和列数,size--元素个数
import numpy as np #numpy 数组的创建 a = np.array([2,3,4],dtype=np.int32)#一维数组的创建[2 3 4] print(a) b = np.array([[1,2,3],[2,3,4]])#多维数组的创建[[1 2 3] [2 3 4]] print(b) c = np.zeros((2,4))#创建全零数组[[0. 0. 0. 0.] [0. 0. 0. 0.]] print(c) d = np.ones((3,4),dtype=np.int)#创建全一数组,同时制定数据类型[[1 1 1 1] [1 1 1 1] [1 1 1 1]] print(d) e = np.empty((3,4))#创建全空数组,每个数接近于0 print(e) f = np.arange(1,10,2)#1-10的数据,步长为2 print(f) g = np.array([2,3,4],dtype=np.int32) print(g.ndim)#1 print(g.shape)#(3,) print(g.size)#3
#创建两个1维矩阵 a = np.array([1,2,3,4]) b = np.arange(4) c1 = a-b#对应相减 c2 = a*b#对应相乘 c3 = a.dot(b)#对应相乘再求和 c4 = b**2#相应位置平方 c5 = np.sin(a)#求sin
a=np.random.random((2,4))#创建2*4的随机数矩阵 print(a) print(np.sum(a))#矩阵中数的和 print(np.min(a))#矩阵中的最小值 print(np.mean(a))#矩阵中元素的平均值 print(np.sum(a,axis=0))#按列进行求和 print(np.sum(a,axis=1))#按行进行求和
#矩阵基本计算 A=np.arange(2,14).reshape((3,4))#创建一下3*4的矩阵2-13 print(A) print(np.argmin(A))#最小值的索引 print(np.argmax(A))#最大值的索引 print(np.mean(A))#整个矩阵的均值 print(np.average(A))#平均数 print(A.mean())#平均数 print(np.median(A))#中位数 print(np.cumsum(A))#累加,每个位置的数是前面位置的和 print(np.diff(A))#累差运算,后一个元素减去前一个元素的值
A=np.arange(14,2,-1).reshape((3,4)) print(A)#[[14 13 12 11] [10 9 8 7] [6 5 4 3]] print(np.sort(A))#对每行进行递增排序[[11 12 13 14] [7 8 9 10] [3 4 5 6]] print(np.transpose(A))#矩阵转置 print(A.T)#矩阵转置 print(np.clip(A,5,9))#将元素取值范围规定到[5,9]区间,比5小变为5,比9大变为9,其余保持不变 # [[9 9 9 9] [9 9 8 7] [6 5 5 5]]
#索引和切片 A=np.arange(3,15)#[3 4 5 6 7 8 9 10 11 12 13 14] B=A.reshape(3,4)#[[ 3 4 5 6] [7 8 9 10] [11 12 13 14]] print(B[2])#第二行元素[11 12 13 14] print(B[0][2])#第零行第3个元素5 print(B[1,1:3])#第一行的第1和第2位置的元素[8 9] print(B[0:2,1:3])#第零行到第一行第1和第2位置元素[[4 5][8 9]] #打印行 for row in B: print(row)#[3 4 5 6] [7 8 9 10] [11 12 13 14] #打印列 for columns in B.T: print(columns)#[3 7 11][4 8 12][5 9 13][6 10 14] #多维数组变成一维 C = np.arange(3, 15).reshape((3, 4)) print(C)#[[ 3 4 5 6][ 7 8 9 10][11 12 13 14]] D=C.flatten() print(D)#[ 3 4 5 6 7 8 9 10 11 12 13 14]
#数组的合并与拆分 A=np.arange(1,16).reshape(3,5) print(A) #分割 print(np.split(A,3,axis=0))#5为拆分的数组个数,axis为分割方向 B=np.array([1,1,1]) C=np.array([2,2,2]) print(np.vstack((B,C)))#上下合并 print(np.hstack((B,C)))#左右合并 D=np.array([[1,2,3,4,5],[6,7,8,9,10]]) print(D)#[[ 1 2 3 4 5] [ 6 7 8 9 10]] E=D*2 print(E)#[[ 2 4 6 8 10] [12 14 16 18 20]] print(np.dstack((D,E)))#深度合并[[[1 2] [2 4] [3 6] [4 8] [5 10]] [[6 12] [7 14] [8 16] [9 18] [10 20]]]
1
以上是关于numpy模块的主要内容,如果未能解决你的问题,请参考以下文章