numpy学习笔记——随机数与存储读取

随机数

numpy.random包含多种概率分布的随机样本

  • rand
    random.rand [0,1]之间的随机浮点数 平均分布
  • normal
    np.random.normal(loc=0.0, scale=1.0, size=None) 正态分布随机数,loc是均值,scale是方差。
  • randint
    numpy.random.randint(low, high=None, size=None, dtype=‘l’)
    生成一个整数或N维整数数组
    若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数,且high必须大于low
#random.rand [0,1]之间的随机浮点数 平均分布
print('np.random.rand()')
print('np.random.rand()\n',np.random.rand())

print('np.random.rand(2,3)\n',np.random.rand(2,3))

print('np.random.rand(2,3)*10\n',np.random.rand(2,3)*10)#0-10之间的浮点数

#random.normal 正态分布
print('np.random.normal(size=(4,4))\n',np.random.normal(size=(4,4)))#normal 正态分布
print(np.random.normal(2,0.5,10))#loc=0,scale=0.5 指定参数的正态分布

#random.randint
# numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组
# 若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数,且high必须大于low 
# dtype参数:只能是int类型  
print(np.random.randint(10))#[0,10)之间的整数随机数
print(np.random.randint(1,3))#[1,3)之间的整数
print(np.random.randint(1,5,size=(2,6)))#size是生成数组的尺寸
存储和读取

存储、读取.npy可以使用save load语句
np.save(‘ar.npy’,ar)
np.load(‘ar.npy’)

存储、读取txt格式可以用savetxt loadtxt格式

  • np.savetxt
    np.savetxt(fname, X, fmt=’%.18e’, delimiter=’ ‘, newline=’\n’, header=’’, footer=’’, comments=’# ‘, encoding=None)
    fname: ndarray
    fmt:存储格式 如保留小数点位数和数据类型
    delimiter:数据分隔格式,如delimiter=’ ,'是用逗号间隔
  • np.loadtxt
    np.loadtxt(fname, dtype=<class ‘float’>, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding=‘bytes’, max_rows=None)
    读取txt文件
import os
import numpy as np

os.chdir('C:\\Users\\Violette\\Desktop')
ar=np.random.randint(1,10,size=(3,3))
print(ar)
#save : Save an array to a binary file in NumPy ``.npy`` format
#savez : Save several arrays into an uncompressed ``.npz`` archive
#savez_compressed : Save several arrays into a compressed ``.npz`` archive
np.save('ar.npy',ar)
ar1=np.load('ar.npy')
print(ar1)
ar=np.random.rand(3,3)
print(ar)
np.savetxt('ar.txt',ar,delimiter=',',fmt='%.3f')#逗号间隔,保留三位小数的浮点数
ar2=np.loadtxt('ar.txt',delimiter=',')
print(ar2)
print(np.loadtxt('ar.txt',delimiter=',',skiprows=2))#skiprows表示跳过前几行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值