CSV是一种常见的文件格式,用来存储批量数据。
np.savetxt(frame,array,fmt='%.18e',delimiter=None)
frame --文件、字符串或者产生器
array --存入文件的数组
fmt --写入文件的格式%的,%d,%f
delimiter --分割字符串,默认是任何空格
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
dtype --数据类型,可选
unpack如果是True,读入属性将分别写入不同变量
CSV文件的局限性,CSV只能有效存取一维二维数据
任意维度数据的读取可以使用以下方法
a.tofile(frame,sep=' ',format=%d)
frame --文件或者字符串
sep --写入文件的分隔符,如果为空字符串,则写入文件为二进制
format --写入文件的数据格式
np.fromfile(frame,dtype=np.int,count=-1,sep='')
frame --文件或者字符串
dtype --读入数据的格式
count --读入数据的个数,-1表示读入全部数据
sep --读入数据的分隔符
np.save(fname,array)
np.load(fname)
fname --为文件名,以.npy或者.npz作为文件扩展名
numpy的随机函数子库numpy.random
.rand(x,y,z) | 根据shape创建随机数组,浮点数,服从[0,1)上的均匀分布 |
---|---|
.randn(x,y,z) | 根据shape创建随机数组,服从标准正态分许 |
.randint([low,high),shape) | 根据shape创建随机数组2整数,数的范围从最低到最高 |
.seed(s) | 随机数种子,S是给定的随机数正字值 |
.shuffle(a) | 根据数组a的·第一轴进行随机排序,改变数组a |
.permutation(a) | 根据数组a的第一轴产生新的乱序数组,不改变数组a |
.choice(a,size,replace,p) | 在数组a中以概率p去抽取元素,形成size形状的数组,repalce表示是否可重复出现 |
.uniform(low,high,size) | 产生具有均匀分布的数组 |
.normal(u,std,size) | 产生具有正态分布的数组 |
.possion(p,size) | 产生具有泊松分布的数组 |
numpyt直接提供的统计函数,通过np.*可以直接调用
sum(a,axis=None) | 给定轴计算数组相关元素之和 |
---|---|
mean(a,axis=None) | 给定轴计算数组相关元素的均值 |
average(a,axis=None,weights=None) | 给定轴计算数组相关元素以指定加权计算的均值 |
std(a,axis=None) | 给定轴计算数组相关元素的标准差 |
var(a,axis=None) | 给定轴计算数组相关元素的方差 |
min(x) 、max(x) | 计算数组a中元素的最小值与最大值 |
argmin(x),argmax(x) | 计算数组a中元素的最大值最小值降一维后下标 |
unravel_index(index,shape) | 根据shape将一维下标转换成多维下标 |
ptp(a) | 数组a中元素最大值与最小值之差 |
median(a) | 数组a中元素的中位数 |
计算f中元素的梯度,当f为多维时,返回每个维度的梯度 |
a=np.arange(24).reshape(4,6)
np.argmax(a)
np.unravel_index(np.argmax(a),a.shape)
| gradient(f) |计算f中元素的梯度,当f为多维时,返回每个维度的梯度 |