https://www.bilibili.com/video/BV1BA41197ZU?p=36&spm_id_from=pageDriver&vd_source=e1e965c6d34ccad0cc6841ecb58eb4a5

前置知识

1.python基础语言
2.重点Python内置数据结构:列表、字符串、元组、集合和字典。
3.序列的索引和切片操作。
4.列表推导式、集合推导式、字典推导式

5.lambda表达式
6.Python三个函数式编程基础的函数:fliter()、map()和reduce()。

2.Numpy是什么?

NumPy(Numerical Python的缩写)是一个开源的Python数据分析和科学计算库。
1.NumPyj Pandas(数据分析)、SciPy(科学计算)和Matplotlib(绘图库)基础。
2.图像处理OpenCV for Python中也大量使用NumPy。
3.NumPy官网:http://www.numpy.org/
4.Numpy源代码:https://github.com/numpy/numpy

1.3为什么选择Numpy

1.Python写出易读、整洁并且缺陷最少的代码。
2.Numpy底层是用C语言实现速度快。
3.NumPy提供数据结构(数组)比Python内置数据结构访问效率更高。
4.支持大量高维度数组与矩阵运算。
5.提供大量的数学函数库。

环境搭建

手动安装:要求python3.5及以上版本。pip 安装Numpy等库。 pip install Numpy。
安装IPython: 是一个加强版的Python解释器,python3.7以后开始自带安装。
pip install ipython

安装Anacoda:
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等1500多个科学包。
官网:https://www.anaconda.com

开发工具:

Python Shell, Python IDEL, IPython shell, IDE工具(Pycharm、Eclipse Pydev插件、Visual Studio Code、Spyder)、Jupyter Notebook。

编写Numpy程序:

NumPy库中最重要的数据结构是多维数组对象(ndarray),它是一系列同类型数据的集合,下标索引从0开始。
ndarray对象是用于存放同类型元素的多维数组。
ndarray中的每个元素在内存中都有相同存储大小的区域。

创建一维数组:

array函数创建ndarray对象,其中参数可以是如下类型:Python列表(list)、Python元组(tuple)。

指定数组数据类型:

Numpy支持的数据类型比Python内置的数据类型要多。

数组的dtype属性返回数组的类型。也可以在声明时指定数据类型。dtype=float。

更多数据类型:

类型代码和字节序

类型转换

使用数组对象(ndarray)的astype(dtype)方法可以转换数组元素的数据类型。

注意:astype(dtype)方法会创建一个新的数组对象。

3.3更多创建一维数组方式:

使用array()函数是将Python内置的列表或元素转换为Numpy数组对象,这样做效率不高。为此Numpy提供了很多创建数组的函数。arrange、linspace(线性等分向量)、logspace(对数等分向量)。

获取Numpy版本:printf(np.__version__)
编写Numpy程序以获取有关np.add函数的帮助信息: np.info(np.add) ; ipython提供的方式:np.add? 或 np.add??
从给定数组中提取所有奇数:

第四章 二维数组

4.1创建二维数组:

4.2重设数组维度:reshape

4.3.5使用identity和eye函数

identity函数可以创建单位矩阵,即对角线元素为1.0,其他元素为0.0.其语法格式如下:
numpy.identity(n,dtype=None);

eye函数可以创建二维数组,对角线元素为1.0,其他元素为0.0。其语法格式如下:

4.4数组的属性

4.6数组转置

5.1索引访问

5.2切片访问

6.3算术运算:

Numpy数组对象可以使用Python原生的算术运算符,加、减、乘、除都可以使用。规则很简单,即对对应的每一个元素运算即可。

形状相同的直接计算,不同的需要广播实现。

6.4广播

6.4.1标题广播

任何标量都可以跟数组进行计算。

6.4.2数组广播

练习:

第7章 通用函数

通用函数(ufunc)使得Numpy数组操作用于数组中的每一个元素。通用函数是C语言实现的,这样会取得更快的执行效率。

自定义通用函数

输入一个参数,输出一个参数。

第8章 更多函数

8.1随机数

8.1.1常用随机函数

8.2排序

8.3聚合函数

可以对整个数组元素或轴元素进行计算,获得单一值,这是聚合函数。如:sum、amin、amax、mean(平均值)、average(加权平均值)、var(方差)、std(标准偏差)等。

8.3.1求和:

第九章 线性代数

Numpy提供线性代数计算模块numpy.linalg,该模块包含了线性代数所需的所有功能。

第10章 高维数组