将列表转换为数组
import numpy as np
list1 = [[2, 5, 3.2], [0, 4.2, 5]]
nd1 = np.array(list1)
print(nd1)
'''
[[2. 5. 3.2]
[0. 4.2 5. ]]
'''
获取随机数(random模块)
函数 | 代码 | 含义 |
---|
random:0~1之间的随机数 | np.random.random() | | | np.random.random() | 生成一个0~1之间的随机数 | | np.random.random(2) | 生成两个0到1之间的随机数 | | np.random.random((2, 2)) | 生成形状为(2, 2)的0到1之间的随机数 | rand:0~1之间均匀分布的随机数 | np.random.rand() | | | np.random.rand(2) | 生成两个服从0-1均匀分布的随机数 | | np.random.rand(2, 3) | 生成形状为(2,3)的服从0-1均匀分布的随机数 | | np.random.rand(2, 3, 4) | 生成形状为(2,3,4)的服从0-1均匀分布的随机数 | uniform:某区间均匀分布的随机小数 | np.random.uniform() | | | np.random.uniform(2, 5) | 生成一个均匀分布在[2,5)区间的随机数 | | np.random.uniform(10, 50, 3) | 生成三个均匀分布在[10,50)区间的随机数 | | np.random.uniform(0, 10, (2, 3)) | 生成三个均匀分布在[10,50)区间的随机数 | randn:标准正态的随机小数 | np.random.randn() | | | np.random.randn() | 生成一个标准正态的随机数 | | np.random.randn(3) | 生成三个标准正态的随机数 | | np.random.randn(2, 3) | 生成形状为且(2,3)的标准正态的随机数 | randint:随机生成整数 | np.random.randint() | | | np.random.randint(2, 5) | 随机生成一个[2,5)区间的整数 | | np.random.randint(0, 10, 5) | 随机生成5个[0,10)区间的整数 | | np.random.randint(10, 50, (2, 3)) | 随机生成形状为(2,3)的数值在[10,50)区间的整数 | normal:生成正态分布 | np.random.normal() | | | np.random.normal(10, 1) | 随机生成1个正态分布为(10,1)的随机数 | | np.random.normal(5, 10, 3) | 随机生成3个正态分布为(5,10)的随机数 | | np.random.normal(82, 20, (2, 3)) | 随机生成形状为(2,3)的正态分布为(82,20)的随机数 | random_sample:随机的浮点数 | np.random.random_sample() | | | np.random.random_sample() | 随机生成1个浮点数 | | np.random.random_sample(3) | 随机生成3个浮点数 | | np.random.random_sample((3, 3)) | 随机生成形状为(3,3)的浮点数 |
随机打乱数组顺序(shuffle)
nd = np.random.randint(0,10,(5,5))
print(nd)
'''
[[9 3 6 5 1]
[4 2 5 7 8]
[5 9 1 7 7]
[1 1 5 9 3]
[7 0 1 4 8]]
'''
np.random.shuffle(nd)
print(nd)
'''
[[1 1 5 9 3]
[4 2 5 7 8]
[9 3 6 5 1]
[5 9 1 7 7]
[7 0 1 4 8]]
'''
设置随机数种子(seed、RandomState)
设置种子是为了保证每次生成的数一样
rng = np.random.RandomState(42)
ser = pd.Series(rng.randint(0,10,4))
设置随机数种子,100为参数,参数任意取,参数不同,所获得的随机数不同。由于有种子的存在,每次生成5个[0,10)区间的整数相同
np.random.seed(100)
nd = np.random.randint(0, 10, 5)
print("种子为100时随机数的结果为:",nd)
'''
种子为100时随机数的结果为: [8 8 3 7 7]
'''
按指定形状创建多维数组
函数 | 代码 | 含义 |
---|
zeros:创建全为0的数组 | np.zeros() | | | np.zeros(2) | 创建全为0的且含两个元素的一维数组 | | np.zeros((2,3)) | 创建全为0的且形状为(2,3)的二维数组 | | np.zeros((2,3,4),dtype=int) | 创建全为0的且形状为(2,3,4)的三维数组,int类型 | ones:创建全为1的数组 | np.ones() | | | np.ones(2) | 创建全为1的且含两个元素的一维数组 | | np.ones((2,3)) | 创建全为1的且形状为(2,3)的二维数组 | | np.ones((2,3,4)) | 创建全为1的且形状为(2,3,4)的三维数组 | empty:创建空数组,空数据不为0,而是未初始化 | np.empty() | | | np.empty(2) | 创建全为空的且含两个元素的一维数组 | | np.empty((2,3)) | 创建全为空的且形状为(2,3)的二维数组 | | np.empty((2,3,4)) | 创建全为空的且形状为(2,3,4)的三维数组 | zeros_like:创建与某数组相同形状且全为0的数组 | np.zeros_like() | | | np.zeros_like(nd1) | 创建与nd1维度形状相同且元素全为0的数组 | ones_like:创建与某数组相同形状且全为1的数组 | np.ones_like() | | | np.ones_like(nd1) | 创建与nd1维度形状相同且元素全为1的数组 | empty_like:创建与某数组相同形状且为空的空数组(未初始化) | np.empty_like() | | | np.empty_like(nd1) | 创建与nd1维度形状相同且全为空的数组 | eye:创建左上到右下对角线为1,其他为0的数组 | np.eye() | | | np.eye(5) | 创建5*5的单位矩阵,左上角到有右下角的对角线全为1,其他为0 | full:将某值填充某数组 | np.full() | | | np.full((3,5),666) | 创建形状为(3,5)且元素全为666的数组 | diag:创建对角线为某值其他为0的数组 | np.diag() | | | np.diag((1,2,3)) | 创建左上到右下对角线为1,2,3其他为0的矩阵 | linspace:创建某范围内的等差数列 | np.linspace() | | | np.linspace(0,5,11) | 创建从0到5元素为11个的等差数列 | logspace:创建某范围内的等比数列 | np.logspace() | | | np.logspace(0,2,10) | 创建从10o到102元素为10个的等比数列 | | np.logspace(1,3,10) | 创建从101到103元素为10个的等比数列 | arange | np.arange() | | | np.arange(10) | 从[0,10)的整数 | | np.arange(5, 11) | 从[5,11)的整数 | | np.arange(3, 12, 2) | 从[3,12)且间隔为2的整数 | | np.arange(2, 13, 3) | 从[2,13)且间隔为3的整数 |
|