ndarray是一个n维数组类型,用ndarray进行存储数据
导入numpy包: import numpy as np
创建ndarray数组: 数组名 = np.array([[数组],[数组],[数组]])
ndarray对比python的优势: 运行与计算速度比python快,底层是用c语言写的,不受python解释器限制
有一维数组,二维数组,三维数组等类型,他们都有不同的形状
主要是看np.darray的中括号数量可以判断是几维数组
当你需要指定数组的类型的时候,可以在数组后面跟上dtype= np. int/float/bool/string
创建数组: 数组名 = np.ones([数组行列]) / 数组名 = np.zeros([数组行列])
创建相同类型的数组: 数组名 = np.ones_like(其他数组名) / 数组名 = np.zeros_like(其他数组名)
深拷贝: np.array(已经生成的数组a)
将数组重新拷贝到一块代码中去
浅拷贝: np.asarray(已经生成的数组a)
将数组指针直到已经生成的数组中去,相当于指向了一个索引
创建指定数量的等差数组: np.linspace(初始值,结束值,生成的个数 (默认50) )
创建指定步长的等差数组: np.arange(起始值,终止值,步长 (默认为1))
创建指定数量的等比数组: np.logspace(起始值,终止值,生成的个数) 指10的几次方
μ 代表分布的左右(正数为右,负数往左) 平均值
σ 代表走线的高低(越小峰值越高,越大峰值越低)方差
标准正态分布: μ = 0,σ = 1时为标准正态分布
创建正态分布数组: 数组名 = np.random.normal(均值(μ),标准差(σ),生成的个数) 生成的个数也可以设置为几行几列
创建均匀分布数组: np.random.uniform(下限,上限, 生成的个数)
举例:
二维数组的索引,score[0,[0:3]] 在score数组中选取第0行的第0到第2个数据(数据遵循前开后闭原则)
三维数组的索引,score[0,1,2] 在score数组中选取第0个数组块,第2个数组单元里面的第三个数据
①数组名.reshape([几行几列]) 其中行列可以写-1代表目前还不知道写几行或者几列,交给计算机处理
②数组名.resize([几行几列]) 这是直接修改数组的代码,用完之后直接改变数组
③数组名.T 数组进行转置
数组名.astype(想修改的数组类型)
np.unique(数组名)
例如:score > 60 可以直接做bool类型的判断
赋值运算:score[score > 60]= 1,将所有大于60的数变为1
np.all(): 要求必须要全部满足才可以
np.any(): 只需要有一个满足条件就可以
①np.where(判断条件,就怎么样,否则怎么样)
②np.logical_and() 逻辑且运算
③np.logical_or() 逻辑或运算
注:①可以与②③连起来使用,例如np.where(np.logical_and(t>1),1,0)
求最大值: np.max(数组名,axis= 0 按行看最大值 )
求最小值: np.min(数组名, axis= 1 按列求最大值 )
求平均值: np.mean(数组名)
求最大值是第几个数字: np.argmax(数组名,axis=)
求最小值是第几个数字: np.argmin(数组名,axis=)
矩阵相乘:
np.dot(矩阵1,矩阵2)
np.matmul(矩阵1,矩阵2) matmul不支持矩阵与标量的乘积