一、文件读取与保存:
1:savetxt()与loadtxt()函数
import numpy as np
numpy.savetxt(frame, array, fmt='%.18e', delimiter=None)
#frame:文件名,字符串,或者产生器,可以是.gz或者.bz2的压缩文件。
#array:存入文件的数组
#fmt:写入文件的格式,如:%d, %.2f, %.18e.
#delimiter:分割字符串,默认是空格。
np.savetxt('a.csv', a, fmt = '%d', delimiter=',')
numpy.loadtxt(frame, dtype = np.float, delimiter=None, unpack=False)
#frame:文件名,字符串,或者产生器,可以是.gz或者.bz2的压缩文件。
#dtype:数据类型,可选。
#delimiter:分割字符串,默认是空格。
#unpack:如果是True,读入属性则被写入不同变量。(如果读入的是个二维矩阵,就是按列读取)
np.loadtxt('a.csv', delimiter=',')
2、多维数据读取
import numpy as np
a.tofile(frame, sep='', format ='%s')
#frame: 文件,字符串
#sep: 数据分割字符串,如果是空串,则写入为二进制。
#format:写入数据格式。
a = np.arange(100).reshape(5, 10, 2)
a.tofile('b.dat', sep = ",", format = '%d')
np.fromfile(frame, dtype = float, count=-1, sep ='')
#frame: 文件,字符串
#dtype:读取的数据类型
#count:读入元素的个数,-1表示读入整个文件
#sep:数据分割字符串,如果是空串,写入数据为二进制。
c = np.fromfile('b.dat', dtype=np.int, sep=',').reshape(5, 10, 2)
该方法必须提前知道维度信息,才能还原多维数据
3、numpy的便捷文件存取。
import numpy as np
np.save(fname, array)
np.savez(fname, array)
np.load(fname)
二:numpy.random库
函数 | 说明 |
---|
rand(x1,x2,x3,,,xn) | 根据维度(x1,x2,x3,,xn)创建随机数组,float[0,1),均匀分布, |
randn(x1,x2,x3,,,xn) | 同上,不过是标准正态分布 |
randint(low[,high,shape]) | 根据shape创建随机整数数组,范围是[low,high] |
seed(s) | 随机种子,s是给定的种子值。 |
shuffle(a) | 根据数组a的第1轴产生一个新的乱序数组,改变数组a |
permutation(a) | 根据数组a的第1轴产生一个新的乱序数组,不改变a |
choice(a,[,size,replace,p]) | 从一维数组中以概率p抽取元素,形成size形状新数组replace表示是否重用元素,默认为False.例:np.random.choice(b,(3,2),p=b/np.sum(b)),b矩阵中数值越大,被选取概率越大。 |
uniform(low, high, size) | 产生均匀分布数值,low-high,size形状 |
normal(loc,scale,size) | 产生正态分布,loc均值,scale标准差,size形状 |
poisson(lam,size) | 产生泊松分布,lam为随机事件发生率,size为形状. |
统计函数:
函数 | 说明 |
---|
sum(a,axis=None) | 根据axis轴,计算元素,axis为整数或者元组 |
mean(a,axis=None) | 根据axis轴,计算期望,axis为整数或者元组 |
average(a,axis=None,weights=None) | 根据axis轴,计算a中相关元素加权平均 |
std(a,axis=None) | 根据axis,计算相关元素的标准差 |
var(a,axis=None) | 根据axis计算数组方差 |
min(a),max(a) | 计算a的最大最小值 |
argmin(a),argmax(a) | 计算a最大最小值,下降到一维后的下标 |
unravel_index(index,shape) | 根据shape将一维下标index转化成多维坐标 |
ptp(a) | 计算a中最大最小值的差 |
median(a) | 计算数组种元素中位数。 |
gradient(a) | 就算f的梯度。 |