python如何将生成的随机数存入文件中_python 关于导入文本文件、图片,随机生成数组的一些常用代码...

import matplotlib.pyplot as plt #导入库

cat = plt.imread('cat.jpg') #导图片

type(cat) #查看变量类型

plt.imshow(cat)

np._version__ #查看np的版本

arr = np.arange(15).reshape((3,5)) #重新给数组'变形'

arr = np.random.randn(6,3) #生成随机6行矩阵

arr.swapaxes(1,2) #

将数组以二进制格式保存到磁盘

arr = np.arange(10)

np.save('some_array',arr) #将数组以二进制格式保存到磁盘,默认加上.npy后缀

np.load('some_array.npy') #读取磁盘上的数组

np.savez ('array_archive.npz', a = arr, b =arr ) #将多个数组保存到一个压缩文件中

arch = np.load('array_archive.npz') #加载.npz文件,得到一个类似字典的对象

arch['b']

存储文本文件

arr1 = np.loadtxt('array_ex.txt',delimiter =',') # 加载至一个二维数组

arr2 = np.savetxt #将数组写到以某种分隔符隔开的文本文件中

genfromtxt 、loadtxt #面向结构化数组和缺失数据的处理

线性代数

x.dot(y) # 相当于np.dot(x,y) # x矩阵乘以y矩阵

接下来,numpy.linalg有一组标准的矩阵分解运算以及诸如求逆和行列式之类的

from numpy.linalg import inv,qr #导库

mat = x.Tdot(x) #转置再相乘

inv(mat) #求逆

mat.dot(inv(mat))

q , r = qr(mat) # 矩阵分解

随机数生成

生成一个样本值

samples = np.random.normal(size = (4,4)) #标准正态分布矩阵

#计算时间

from random import normalvariate

N = 1000000

%timeit samples = [normalvariate(0,1) for i in range(N) ]

%timeit np.random.normal(size = N)

#一次生成多个样本值的函数(范例3)

范例1:随机漫步

import random

position = 0

walk = [position]

steps = 1000

for i in range(steps):

step = 1 if random.randint(0,1) else -1

position += step

walk.append(position)

import matplotlib.pyplot as plt #导画图的包

plt.plot(walk)

范例2:随机产生1000“掷硬币”结果(即两个数中任选一个,将其分别设置为1或-1,然后计算累计和)

nsteps = 1000

draws = np.random.randint(0,2,size = nsteps) #随机生成0和1

steps = np.where(draws > 0,1,-1) # 大于0设为1,否则设为-1

walk = steps.cumsum() 计算累计和

walk

范例3:一次模拟多个随机漫步

nwalks = 5000

nsteps = 1000

draws = np.random.randint(0,2,size = (nwalks,nsteps)) #生成5000*1000的随机数

steps = np.where(draws>0,1,-1) #大于0设定为1,否则设定为-1

walks = steps.cumsum(axis = 1) #在行方向上求累计和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值