np.savetxt(frame,array,,fmt=’%.18e’,delimiter = None)
a = np.arange(100).reshape(5,20)
np.savetxt("a.csv",a,fmt = '%d',delimiter = ",")
np.loadtxt(frame,dtype =np.float,delimiter = None,unpack = False)
np.loadtxt("a.csv",dtype = np.int,delimiter = ",")
csv只能存储一维和二维数组
对于多维数组我们用tofile,fromfile
a.tofile(frame,sep=”,format = “%s”) #sep如果是空串,则写入二进制文件
a.fromfile(frame,dtype = float,count=-1,spe=”) # count=-1表示默认读取所有数据
np.save(frame,array) 或np.savez(frame,array)
frame:文件名,以npy和npz为扩展名
np.load(frame)
函数 | 说明 |
---|---|
random.rand(d0,d1…dn) | 根据d0到dn创建随机数数组,浮点数,[0-1),均匀分布 |
random.randn(d0,d1…dn) | 根据d0到dn创建随机数数组,标准正态分布 |
random.randint(low[,high,shape]) | 根据shape创建随机整数或整数数组,[low-high) |
random.seed(s) | 随机数种子,s是给定的种子数(为了产生相同的随机数,方便测试) |
random.shuffle(a) | 对数组a第0轴(行)进行随机排列,改变数组a |
random.permutation(a) | 同上,不改变数组a |
random.choice(a[,size,replace = False,p]) | 从一维数组a中以概率p抽取元素,行程size形状新数组,默认不能重用元素 |
random.uniform(low,high,size) | 均匀分布的数组 |
random.normal(loc,scale,size) | 正态分布的数组,loc均值,scale标准差 |
random.uniform(lam,size) | 泊松分布的数组,lam随机事件发生率 |
函数 | 说明 |
---|---|
sum(a,axis =None) | 根据指定轴求和 |
mean(a,axis = None) | 根据指定轴求平均值 |
average(a,axis = None,weights = None) | 根据指定轴求加权平均数 |
std(a,axis = None) | 求标准差 |
var(a,axis = None) | 求方差 |
max(a) min(a) | |
argmin(a) argmax(a) | a中最小值最大值降成一维后的下标位置 |
unravel_index (index,shape) | 根据shape将一维下标index转化成多维下标 |
ptp(a) | 计算数组中最大值和最小值的差 |
median (a) | 中值 |
gradient(a) | 计算梯度,如果为多维,则多个维度的梯度 |
a = np.arange(0,24).reshape(2,3,4)
np.sum(a,axis =1) #array([ 15, 51, 87, 123])
np.sum(a,axis =0)
#array([[12, 14, 16, 18],
[20, 22, 24, 26],
[28, 30, 32, 34]])
np.argmax(a) # 23
np.unravel_index(23,(2,3,4)) #(1, 2, 3)
c = np.random.randint(2,20,(2,6))
#array([[10, 17, 17, 11, 2, 17],
[ 4, 4, 10, 10, 8, 10]])
np.gradient(c)
#[array([[ -6., -13., -7., -1., 6., -7.],
[ -6., -13., -7., -1., 6., -7.]]),
array([[ 7. , 3.5, -3. , -7.5, 3. , 15. ],
[ 0. , 3. , 3. , -1. , 0. , 2. ]])]