2021-10-03

numpy 模块学习笔记

一、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]))   # 索引查找值
上一篇:PCL:3DSC特征(3D形状上下文特征)


下一篇:线性分类逻辑斯蒂回归多分类(11)