numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
一维数组常见用法
二维矩阵的常见用法
1 import numpy as np #导入numpy模块 2 3 #二位数组的表现形式。 4 b = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]]) 5 6 np.ndim(b) #显示b的维数--------------2 7 8 np.shape(b) #显示b的形状-------------(2, 3) 9 10 b.dtype #显示数据类型---------------dtype('float64') 11 12 np.min(b) #找出最小值,也可以用 b.min()------0.1 13 14 np.max(b) #找出最大值,也可以用b.max()------0.6 15 16 np.sum(b) #总和,也可以用b.sum()------2.1 17 18 b.sum(axis = 0) #列相加------array([0.3, 0.7, 1.1]) 19 20 b.sum(axis = 1) #行相加------array([0.9, 1.2]) 21 22 b[:, 1] #显示第二列-------------array([0.3, 0.4]) 23 24 b[:, 0:2] #显示第一列和第二列 ---------[[0.1 0.3] [0.2 0.4]] 25 26 b[1, :] #显示第二行------array([0.2, 0.4, 0.6]) 27 28 b[:, 1] == 0.4 #得到bool类型------array([False, True]) 29 30 b[b[:, 1] == 0.4, :] #显示第二例等于0.4的那一行的值------array([[0.2, 0.4, 0.6]]) 31 32 b.size #显示这个矩阵的个数------6 33 34 b.T #转置,将行列互换------array([[0.1, 0.2], [0.3, 0.4], [0.5, 0.6]])
三、 常见函数的表现形式
1 import numpy as np #导入numpy模块 2 from numpy import pi 3 4 #一些函数的表现形式 5 6 a = np.arange(3) #得到一维数组------array([0, 1, 2]) 7 8 np.exp(a) #e的指数------array([1. , 2.71828183, 7.3890561 ]) 9 10 np.sqrt(a) #平方根------array([0. , 1. , 1.41421356]) 11 12 np.arange(0.1, 0.5, 0.1) #得到一维数组,从0.1开始每个0.1得到一个元素一直到0.5(不包括)------array([0.1, 0.2, 0.3, 0.4]) 13 14 b = np.arange(15).reshape(3, 5)#可以得到3*5的矩阵其中也可以用np.arange(15).reshape(3, -1)------array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) 15 16 b.ravel() #将b的3*5的矩阵拉成一维数组------array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) 17 18 np.zeros((3, 4)) #初始化3*4的矩阵,其中元素都为0. 19 20 np.ones((3, 4), dtype = str) #初始化3*4的矩阵,其中元素都为1的字符串。 21 22 np.arange(0.1, 0.5, 0.1) 23 24 np.random.random((2, 3)) #随机产生2*3的矩阵,元素范围在0-1之间------array([[0.23687761, 0.93173207, 0.25978851], [0.11452628, 0.31468911, 0.10254265]]) 25 26 np.floor(10*np.random.random((2, 3))) #floor向下取整------array([[4., 9., 4.], [4., 3., 2.]]) 27 28 np.linspace(0, 2*pi, 5) #0-2*pi之间取5个元素,强调的是先导入pi------array([0. , 1.57079633, 3.14159265, 4.71238898, 6.28318531]) 29 30 np.sin(np.arange(10)) #sin()函数的应用------array([ 0. , 0.84147098, 0.90929743, 0.14112001, -0.7568025 , -0.95892427, -0.2794155 , 0.6569866 , 0.98935825, 0.41211849])
四、 常见函数的表现形式
1 import numpy as np #导入numpy模块 2 #数学运算的表现形式 3 4 a = np.array([10, 20, 30]) 5 b = np.arange(3) 6 7 c = a - b #------[10 19 28] 8 9 c-1 #------array([ 9, 18, 27]) 10 11 a**2 #------array([100, 400, 900], dtype=int32) 12 13 a = np.arange(4).reshape(2, 2) #------[[0 1] [2 3]] 14 15 b = np.array([[2, 3], [4, 5]]) #------[[2 3] [4 5]] 16 17 a*b #点乘------array([[ 0, 3], [ 8, 15]]) 18 19 np.dot(a, b) #矩阵乘以矩阵------array([[ 4, 5], [16, 21]]) 20 21 a.dot(b) #跟上面一样,表现形式不同------array([[ 4, 5], [16, 21]])