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.])
网友评论