numpy数据相关函数总结

存入文件

1、np.savetxt(frame,array,fmt='%.18e',delimiter = None)

frame : 文件,字符串或者产生器,可以使.gz或者.bz2的压缩文件

array:存入文件的数组

fmt:写入文件的格式,比如:%d,%.2f等

delimiter:分割字符串,默认是空格

np.savetxt只能有效存一维和二维数组


2、np.arange().reshape().tofile(frame,sep = ' ',format = "%s")

frame:文件,字符串

sep:数据分割字符串,如果为空串,写入文件为二进制,二进制文件占用内存较少

format:写入数据的格式

tofile函数将多维数据将为一维数据后,再写入文件中


3、np.save(fname,array)

fname :文件名,以.npy为扩展名,压缩扩展名为.npz

array:数组变量



读取文件

1、np.loadtxt(frame,dtype = np.float,delimiter = None,unpack = False)

frame : 文件,字符串或者产生器,可以使.gz或者.bz2的压缩文件

dtype:数据类型,可选

delimiter:分割字符串,默认是任何空格

unpack:如果为True,读入属性将分别写入不同变量

np.loadtxt只能有效读取一维和二维数组


2、np.fromfile(fram,dtype = float,count = -1,sep = ' ')

frame : 文件、字符串

dtype:将文件以何种类型读取

count:读入元素个数,-1表示读入整个文件

sep:数据分割字符串,如果是空串,写入文件为二进制

fromfile需要读取时知道存入文件时数组的维度和元素类型


3、np.load(fname):

fname:文件,以.npy为扩展名,压缩扩展名为.npz


Numpy的随机数函数总结:

np.random.rand(d0,d1,.....,dn):创建后的矩阵为,d0-dn维度,其中的每个数据为[0,1)的随机数

np.randn(d0,d1,....,dn):创建后的矩阵为,d0-dn维度,其中的每个数据满足标准正态分布

np.randint(low,high,shape):创建后的矩阵为:根据shape创建随机整数或者整数数组,范围为[low,high)

np.random.seed(s):随机数种子,s是给定的种子值。当s相同时,将产生相同的随机数

np.random.shuffle(a):打乱数组a的各行的顺序,数组a会被改变

np.random.permutation(a):效果与shuffle相同,但是数组a不会改变。

np.random.choice(a[,size,replace,p]):从一维数组a中以概率p抽取元素,形成size形状新数组,replace表示是否可以重用元素,默认为False

其中,当p = a/np.sum(b)时,表示元素的值越大,被选中的概率就越大

np.uniform(low,high,size):产生具有均匀分布的数组,low起始值,high结束值,size形状

np.normal(loc,scale,size):产生具有正态分布的数组,loc均值,scale标准差,size形状

poisson(lam,size):产生具有泊松分布的数组,lam随机事件发生率,size形状


Numpy的统计函数:

np.sum(a,axis = None):根据给定轴axis计算数组a相关元素之和,axis整数或者元组

np.mean(a,axis = None):根据给定轴axis计算数组相关元素的期望,反应一组数据的集中趋势即一般水平,axis整数或者元组

np.average(a,axis = None,weights = None):根据给定轴axis计算数组a相关元素的加权平均值

np.std(a,axis = None):根据给定轴axis计算数组a相关元素的标准差,标准差衡量的是各个元素在平均值附近的离散程度,越小越好。

np.var(a,axis = None):根据给定轴axis计算数组a相关数组a元素的方差


例如:a = [

[0,1,2,3,4,],

[5,6,7,8,9],

[10,11,12,13,14]

]

np.mean(a,axis = 1) ==>> [2.,7.,12.].即计算的是a中每一行的期望

mp.mean(a,axis = 0) ==>>[5.,6.,7.,8.,9,].即计算的是a中每一列对应的期望

np.average(a,axis = 0,weights = [10,5,1]) ==>>[2.1875,3.1875,4.1875,5.1875,6.1875]

对于4.1875这个值,是由2*10+7*5+12*1/(10+5+1)计算而来

np.min(a) 、np.max(a) 计算数组a中元素的最大值、最小值

np.argmin(a)、np.argmax(a)计算数组a中元素最小值,最大值在一维中对应的位置。即该函数会把数组a降维到一维

np.unravel_index(index,shape):根据shape将一维下标index转换成为多维下标

np.ptp(a):计算数组a中元素最大值与最小值的差

np.median(a):计算数组a中元素的中位数(中值)


Numpy的梯度函数:

np.gradient(f):计算数组f中元素的梯度,当f为多维时,返回每个维度梯度。梯度:连续值之间的变化率,即斜率










发布了19 篇原创文章 · 获赞 11 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览