北京理工python数据分析与展示课单元二总结

一、文件读取与保存:

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)#压缩
#frame:文件名,以.npy为拓展名,压缩拓展名为.npz
#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的梯度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值