1.1 生成numpy
numpy简介:
它是一个python的外部库,要使用首先需要导入。numpy库中封装了一个新的数据类型ndarray(N-dimensional Array), 它是一个多维数组对象.
创建数组的方法
从python已有的数据类型中创建
import numpy as np
## 将列表转换为ndarray
lst1 = [2.34, 4.56, 7.89]
nd1 = np.array(lst1)
print(nd1)
[2.34 4.56 7.89]
## 嵌套列表可以转换成多维数组
lst2 = [[2.3, 4, 3.2], [4.5, 6.3, 3.3]]
nd2 = np.array(lst2)
print(nd2)
print(type(nd2))
[[2.3 4. 3.2]
[4.5 6.3 3.3]]
<class 'numpy.ndarray'>
利用random模块生成数组
函数 | 描述 |
---|---|
np.random.random | 生成0到1之间的随机数 |
np.random.uniform | 生成均匀分布的随机数 |
np.random.randn | 生成标准正态分布的随机数 |
np.random.randint | 生成随机的整数 |
np.random.normal | 生成正态分布 |
np.random.shuffle | 随机打乱顺序 |
np.random.seed | 设置随机数种子 |
random_sample | 生成随机的浮点数 |
创建特定形状的多维数组
函数 | 描述 |
---|---|
np.zeros((3,4)) | 创建全为0的数组 |
np.ones((3,4)) | 创建全为1的数组 |
np.empty((2,3)) | 创建空数组 |
np.zeros_like(ndarr) | 创建和ndarr形状一致的全为0的数组 |
np.ones_like(ndarr) | 道理同上 |
np.empty_like(ndarr) | 道理同上 |
np.eye(5) | 创建一个5x5的矩阵,对角线元素为1,其他地方全为0 |
np.full((3,5)), 666 | 创建一个大小为3x5,里面元素全为666(被指定的值)数组 |
利用arange 、linspace函数生成数组
arange([start,]stop[,step], dtype=None)
start与stop用来指定范围,step用来设定步长。start默认为0,步长step可为小数。
np.linspace(start, stop, num=50, endpoint=True, retstep=False