Numpy函数总结

Numpy库函数总结

  • 1. Numpy函数
  • 2. 一元函数
  • 3. 二元函数
  • 4. 聚合函数
  • 5. 文件相关函数

1. Numpy函数

引入Numpy库:

import Numpy as np
函数名 说明 示例使用 备注
array 创建数组 np.array([1,2,3,4]) array可加dtype参数指定数据类型,例如:np.array([1,2,3,4,5],dtype=int32)
arange 创建数组 np.arange(0,10,2) 创建0-10步数为2的数组
random.random 随机数数组 np.random.random((2,2)) 创建2行2列的数组,值是0-1之间的随机数
random.randint 随机数数组 np.random.randint(0,9,size=(4,4)) 创建值的范围为[0,9)的4行4列数组
random.seed 用于指定随机数生成时所用算法开始的整数值 np.random.seed(1) 如果使用相同的seed()值,则每次生成的随机数都相同,如果不设置这个值,则系统根据时间来自己选择这个值
random.rand 随机数数组 np.random.rand(2,3) 生成一个值为 [0,1)之间的数组,形状由参数指定,如果没有参数,那么将返回一个随机值
random.randn 随机数数组 np.random.randn(2,3) 生成均值(μ)为0,标准差(σ)为1的标准正态分布的值
random.choice 从列表或数组中随机采样 np.random.choice(data,3)或np.random.choice(data,size=(3,4))或np.random.choice(10,3) 从一个列表或者数组或指定值中,随机进行采样。或者是从指定的区间中进行采样,采样个数可以通过参数
random.shuffle 把原来数组元素的位置打乱 np.random.shuffle(a) 将数组a的元素的位置都会进行随机更换,shuffle没有返回值,直接打乱原数组位置
zeros 创建数组 np.zeros((3,3)) 3行3列全零数组
ones 创建数组 np.ones((4,4)) 4行4列全一数组
full 创建数组 np.full((2,3),9) 值为0的2行3列数组
eye 创建数组 np.eye(4) 生成一个在斜方形上元素为1,其他元素都为0的4行4列矩阵
dtype 查询数组中数据类型 d.dtype d为数组名
astype 修改数组的数据类型 a.astype(‘f2’) a为数组名
ndim 查询数组维度 a1.ndim a1为数组名
shape 查询数组形状 a1.shape a1为数组名
reshape 修改数组形状 a1.reshape((2,6)) a1为数组名,reshape是将数组转换成指定的形状,然后返回转换后的结果,对于原数组的形状是不会发生改变的
resize 修改数组形状 a1.resize((4,3)) a1,为数组名,resize是将数组转换成指定的形状,会直接修改数组本身,并且不会返回任何值
flatten 扁平化 (多维数组转化为一维数组) a2.flatten() a2为数组名,flatten是将数组转换为一维数组后,然后将这个拷贝返回回去,然后后续对这个返回值进行修改不会影响之前的数组
ravel 扁平化 (多维数组转化为一维数组) a3.ravel() a3为数组名,ravel是将数组转换为一维数组后,将这个视图(引用)返回回去,后续对这个返回值进行修改会影响之前的数组
size 查询数组的元素个数 a1.size a1为数组名
itemsize 各元素所占内存 a1.itemsize a1为数组名,a1.itemsize * a1.size可查询数组所占内存
where 数组元素值的替换 np.where(a3<5,0,1) 将a3数组中小于5的值替换为0剩余值替换为1,数组值替换还可以通过索引/切片或条件索引来实现
round 数组元素保留小数位数 a1.round(2) 数组a1中所有的元素只保留2位小数
vstack 数组垂直方向叠加 np.vstack([vstack1,vstack2]) vstack1,vstack2为数组名,如果想要叠加成功,那么列数必须一致
hstack 数组水平方向叠加 np.hstack([h2,h1]) h1,h2为数组名,如果想要叠加成功,那么行数必须一致
concatenate 手动的指定axis参数具体在哪个方向数组叠加 np.concatenate([vstack1,vstack2],axis=0) axis=0:代表在水平方向叠加;axis=1,代表在垂直方向叠加;axis=None,会先进行叠加,再转化为1维数组
hsplit 数组水平方向切割(按列进行切割) 方式一:np.hsplit(hs1,2) 方式二:np.hsplit(hs1,(1,2)) hsplit切割方式两种,第一种直接指定平均切割成多少列,第二种是指定切割的下标值
vsplit 数组垂直方向切割(按行进行切割) 切割方式与hsplit相同
split/array_split 数组切割(指定切割方式) np.split(hs1,4,axis=1) axis=1代表按照列,axis=0代表按照行
T 转置 t1.T 数组t1转置
transpose 转置
dot 矩阵相乘 t1.dot(t1.T) transpose返回的是一个View,所以对返回值上进行修改会影响到原来的数组
view 浅拷贝 a.view() a为数组名,所指向的内存空间都是一样的,修改值时原数组的值也会受到影响
copy 深拷贝 a.copy() a为数组名,将之前数据完完整整的拷贝一份放到另外一块内存空间中,修改值时原数组的值不会受到影响
any 验证数组中任何一个元素是否为真 np.any(a0)或(a0).any() 查看数组中是否有等于0的数
all 验证所有数组中的元素是否为真 np.all(a0)或(a0).all() 查看数组中是不是所有元素都为0
sort 数组指定轴进行排序 np.sort(a,axis=0) axis=0:按列排序,axis=1:按行排序,默认是使用数组的最后一个轴进行升序排序(可使用负号进行降序排序,例如:-np.sort(-a) ),a.sort():a为数组名,这个方法会直接影响到原来的数组,而不是返回一个新的排序后的数组
argsort 返回数组排序后的下标值 np.argsort(a) 利用argsort+take函数实现数组降序排序,例如:indexes = np.argsort(-a) np.take(a,indexes)
apply_along_axis 沿着数组某个轴执行指定的函数或lambda表达式 np.apply_along_axis(get_mean,axis=1,arr=c) get_mean为函数名,arr指定数组名,axis指定轴
linspace 用来将指定区间内的值平均分成多少份 np.linspace(0,10,12) 将0-10分成12份,生成一个数组
unique 返回数组中的唯一值 np.unique(d) 可指定参数return_counts=True返回每个唯一值出现的次数

2. 一元函数

函数 描述
np.abs 绝对值
np.sqrt 开方(负数开方结果为NAN)
np.square 平方
np.exp 计算指数(e^x)
np.log,np.log10,np.log2,np.log1p 求以e为底,以10为底,以2为底,以(1+x为底的对数
np.sign 将数组中的值标签化,大于0的变成1,等于0的变成0,小于0的变成-1
np.ceil 朝着无穷大的方向取整,比如5.1会变成6,-6.3会变成-6
np.floor 朝着负无穷大的方向取整,比如5.1会变成5,-6.3会变成-7
np.rint,np.round 返回四舍五入后的值
np.modf 将整数和小数分割开来形成两个数组
np.isnan 判断是否是nan
np.isinf 判断是否是inf
np.cos,np.cosh,np.sinh,np.tan,np.tanh 三角函数
np.arccos,np.arcsin,np.arctan 反三角函数

3. 二元函数

函数 描述
np.add 加法运算(即1+1=2),相当于+
np.subtract 减法运算(即3-2=1),相当于-
np.negative 复数运算(即-2)。相当于加个负号
np.multiply 乘法运算(即23=6),相当于
np.divide 除法运算(即3/2=1.5),相当于/
np.floor_divide 取整运算,相当于//
np.mod 取余运算,相当于%
greater,greater_equal,less,less_equal,equal,not_equal >,>=,<,<=,=,!=的函数表达式
logical_and 运算符函数表达式
logical_or 运算符函数表达式

4. 聚合函数

函数名称 NAN安全版本 描述
np.sum np.nansum 计算元素的和
np.prod np.nanprod 计算元素的积
np.mean np.nanmean 计算元素的平均值
np.std np.nanstd 计算元素的标准差
np.var np.nanvar 计算元素的方差
np.min np.nanmin 计算元素的最小值
np.max np.nanmax 计算元素的最大值
np.argmin np.nanargmin 找出最小值的索引
np.argmax np.nanargmax 找出最大值的索引
np.median np.nanmedian 计算元素的中位数

补充:使用np.sum或者是a.sum即可实现。并且在使用的时候,可以指定具体哪个轴。同样python中也内置了sum函数,但是python内置的sum函数执行效率没有np.sum那么高。

5. 文件相关函数

函数名 说明 示例使用 备注
savetxt 将数组保存到文件中 np.savetxt(“score.csv”,scores,fmt="%d",delimiter=",",header=“英语,数学”,comments="") frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件;array:存入文件的数组;fmt:写入文件的格式,例如:%d %.2f %.18e;delimter:分割字符串,默认是空格;comments:注释标识符
loadtxt 将数组保存到文件中 np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False) frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件;dtype:数据类型,可选;delimiter:分割字符串,默认是任何空格; skiprows:跳过前面x行;usecols:读取指定的列,用元组组合;unpack:如果True,读取出来的数组是转置后的
save 存储(numpy独有的存储方案) np.save(fname,a rray)或np.savez(fname,array) 前者函数的扩展名是.npy,后者(经过压缩)的扩展名是.npz
load 加载 np.load(“c.npy”)

你可能感兴趣的:(数据分析,numpy,pandas)