Python学习笔记(6):NumPy库入门2

2019-03-17  本文已影响0人  TOP生物信息
1. 数据保存为CSV格式

%d, %.2f, %.6e三种数值保存格式的区别

>>> a=np.arange(20).reshape(4,5)
>>> print(a)
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
>>> np.savetxt("a.csv",a,fmt="%d",delimiter=",") #保存至当前工作目录下

$ cat a.csv 
0,1,2,3,4
5,6,7,8,9
10,11,12,13,14
15,16,17,18,19

>>> np.savetxt("b.csv",a,fmt="%.2f",delimiter=",")

$ cat b.csv 
0.00,1.00,2.00,3.00,4.00
5.00,6.00,7.00,8.00,9.00
10.00,11.00,12.00,13.00,14.00
15.00,16.00,17.00,18.00,19.00

>>> np.savetxt("c.csv",a,fmt="%.6e",delimiter=",")

$ cat c.csv 
0.000000e+00,1.000000e+00,2.000000e+00,3.000000e+00,4.000000e+00
5.000000e+00,6.000000e+00,7.000000e+00,8.000000e+00,9.000000e+00
1.000000e+01,1.100000e+01,1.200000e+01,1.300000e+01,1.400000e+01
1.500000e+01,1.600000e+01,1.700000e+01,1.800000e+01,1.900000e+01
2. 加载CSV数据
>>> np.loadtxt("c.csv",dtype=np.int32,delimiter=",")
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]], dtype=int32)
3. NumPy的快捷文件存取

np.save(fname, array) 或 np.savez(fname, array)
fname : 文件名,以.npy为扩展名,压缩扩展名为.npz
np.load(fname)
fname : 文件名,以.npy为扩展名,压缩扩展名为.npz

4. NumPy的random子库
np.random.*
函数 说明
rand(d0,d1,..,dn) #d为维度 根据d0‐dn创建随机数数组,浮点数,[0,1),均匀分布
randn(d0,d1,..,dn) 根据d0‐dn创建随机数数组,标准正态分布
randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low, high)
seed(s) 随机数种子,s是给定的种子值 #设置相同的seed可以得到相同的随机数数组
根据特定的分布模型产生随机数数组
函数 说明
uniform(low,high,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状
normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状
poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状
5. NumPy的统计类函数
函数 说明
sum(a, axis=None) 根据给定轴axis计算数组a相关元素之和,axis整数或元组
mean(a, axis=None) 根据给定轴axis计算数组a相关元素的期望,axis整数或元组
average(a,axis=None,weights=None) 根据给定轴axis计算数组a相关元素的加权平均值
std(a, axis=None) 根据给定轴axis计算数组a相关元素的标准差
var(a, axis=None) 根据给定轴axis计算数组a相关元素的方差
min(a) max(a) 计算数组a中元素的最小值、最大值
argmin(a) argmax(a) 计算数组a中元素最小值、最大值的降一维后下标
unravel_index(index, shape) 根据shape将一维下标index转换成多维下标
ptp(a) 计算数组a中元素最大值与最小值的差
median(a) 计算数组a中元素的中位数(中值)
#求加权平均数
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
>>> np.average(a,axis=0,weights=[2,2,2,4])
array([  9.,  10.,  11.,  12.,  13.])
上一篇 下一篇

猜你喜欢

热点阅读