一、Numpy库介绍
NumPy(Numerical Python)是Python的⼀种开源的数值计算扩展。提供多维数组对象,各种派⽣对象(如掩码数组和矩阵),这种⼯具可⽤来存储和处理⼤型矩阵,⽐Python⾃身的嵌套列表(nested list structure)结构要⾼效的多(该结构也可以⽤来表示矩阵(matrix)),⽀持⼤量的维度数组与矩阵运算,此外也针对数组运算提供⼤量的数学函数库,包括数学、逻辑、形状操作、排序、选择、输⼊输 出、离散傅⽴叶变换、基本线性代数,基本统计运算和随机模拟等等。
二、Numpy基础操作
1、安装Python库
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
2、查看numpy库是否可以
import numpy
没报错说明numpy库安装成功
3、Numpy常用函数
Numpy库中的函数非常的多,我们可以直接利⽤np中的⼀些内置函数来操作数据,比如我们创建全0的数组,也可以创建全1数组,全是其他数字的数组,或者等差数列数组,正态分布数组,随机数。
1)、 np.ones()函数
np.ones(shape, dtype=None, order='C')
shape:一个整数类型或者一个整数元组,用于定义数组的大小。如果仅指定一个整数类型变量,则返回一维数组。如果指定的是整数元组,则返回给定形状的数组。
dtype:可选参数,默认值为float。用于指定数组的数据类型。
order:指定内存重以行优先(‘C’)还是列优先(‘F’)顺序存储多维数组。
import numpy as np
arr1 = np.ones(3) # 输出为:array([1., 1., 1.])
arr1
import numpy as np
arr1 = np.ones((2,3)) #
arr1
import numpy as np
arr1 = np.ones((2,3),dtype=int) #
arr1
2)、 np.zeros()函数
import numpy as np
arr2 = np.zeros((2,3)) #同np.ones()函数使用一致
arr2
3)、 np.full()函数
## 返回一个指定形状、类型和数值的数组
np.full(shape, fill_value, dtype=None, order=‘C’)
shape:整数或整数序列
fill_value: 标量或类似数组
dtype:数据类型,可选, 数组所需的数据类型 默认值 None 表示
order: {‘C’, ‘F’},可选
like:array_like
import numpy as np
arr3 = np.full(shape = [2,3],fill_value=2.718)
arr3
4)、 np.arange()函数
## 生成一个从0到num-1步数为1的一维ndarray (类似等差数列)
np.arange(start,stop,step, dtype=None)
start: 开始位置,数字,可选项,默认起始值为0
stop: 停止位置,数字
step:步长,数字,可选项, 默认步长为1,如果指定了step,则还必须给出start。
dtype:输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。
import numpy as np
arr4 = np.arange(start = 0,stop = 10,step = 2)
arr4
5)、 np.linspace()函数
## 在指定的范围(start到stop)内返回1个数组(这里的数组指ndarray数组),这个数组包含了num个均匀间隔的样本
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=float, axis=0)
start:序列的起始点
stop:序列的终点
num(可选):生成的样本数量,默认是50
endpoint(可选):当endpoint=True时包括结束值,当endpoint=False时不包括结束值
retstep(可选):当retstep=True时返回步长,当retstep=False是不返回步长
dtype(可选):输出数组的类型。如果未给定dtype,则从其他输入参数中推断数据类型
import numpy as np
## 输出 等差数列 0-9
arr5 = np.linspace(start =0,stop = 9,num = 10,dtype=int)
arr5
6)、 np.random.randint()函数
## 返回low(包括)到high(不包括)之间的随机整数 即[low, high)
np.random.randint(low, high=None, size=None, dtype=‘l’)
low: int 生成的数值的最小值(包含),默认为0,可省略。
high: int 生成的数值的最打值(不包含)。
size: int or tuple of ints 随机数的尺寸, 默认是返回单个,输入 10 返回 10个,输入 (3,4) 返回的是一个 3*4 的二维数组。(可选)。
dtype:想要输出的结果类型。默认值为int。(可选,一般用不上)
## 随机返回 0-9 的一个整数
np.random.randint(10) ## 8
## 随机返回 10-20 的一个整数
np.random.randint(10,20) ## 17
## 随机返回 10-20 的 长度为 10 的数组
np.random.randint(10,20,size=10)
## 返回 0-10 的 3*4 的 随机数组
np.random.randint(10,size=(3,4))
7)、 np.random.rand()函数
## 给定维度生成[0,1)之间的数据,包含0,不包含1
np.random.rand(d0, d1, ..., dn)
dn: 表示每个维度
## 生成 5*2 的[0-1)的数据
np.random.rand(5,2)