一、numpy 生成伪随机数
伪随机数的生成主要是子模块random库的使用(实际使用中注意p的长应当与x的长相同(以代码为例))
import numpy as np # 设置随即种子 np.random.seed(10) # 产生30个【0.0,1.0】的随机数并形成 2x5x3 的三维数组 a = np.random.rand(2, 5, 3) # 产生15个标准正态分布的随机数并生成 3x5 的二维数组 b = np.random.randn(3, 5) # 产生100个均值为 3 ,标准差为 5 的N(3,5)随机数 np.random.normal(3, 5, 100) # 产生100个上下界分别为 3 和 7 的均匀分布随机数 np.random.uniform(3, 7, 100) # 产生34个【3,30) 中的随机整数 np.random.randint(3, 30, 34) # 产生34个[3,30)中的随机整数 np.random.random_integers(3, 30, 34) # 从数组中按照给定概率p随机的抽取(放回)20个样本 x = [1, 5, 6.4] c = np.random.choice(x, 20, replace=True, p=[0.1, 0.4, 0.5]) # 从数组中按照给定概率p随机的抽取(不放回)20个样本 d = np.random.choice(x, 2, replace=False)
二、数据文件的存取
注意shape用于比较数组的宽度
import numpy as np x = np.random.randn(5, 3) np.savetxt("txt1.txt", x) np.savetxt("txt1.csv", x, delimiter=",") u = np.loadtxt("txt1.txt") v = np.loadtxt("txt1.csv", delimiter=",") print(x.shape, u.shape, v.shape, "\n", x == u, "\n", x == v) print(x, "\n", u, "\n", v, "\n", x == u, "\n", x == v) # x.shape()用于比较数组的维数 # x.shape() == np.shape(x)
三、数组的维数和形状
# 矩阵、数组、以及有关运算 # 数组的维数和形状 # 以 shape 显示数组的宽度,以 x.dim 显示数组的维度 import numpy as np lt = [] ls = [] for i in range(10): lt.append(i) ls.append(lt) y = np.array(ls) print(y) print(np.shape(y), y.ndim) print(type(y), y.dtype) print("y[1, 0] = {}".format(y[1, 0])) # 索引查找值