https://www.bilibili.com/video/BV1U7411x76j?p=1&vd_source=e1e965c6d34ccad0cc6841ecb58eb4a5

Numpy(Numerical Python的缩写):
一个开源的Python科学计算库。
使用Numpy可以方便的使用数组、矩阵进行计算。
包含线性代数、傅里叶变换、随机数生成等大量函数。

为什么使用Numpy?
代码更简洁:Numpy直接以数组、矩阵为粒度计算并支持大量的数学函数,而python需要用for循环从底层实现。
性能更高效:Numpy的数组存储效率和输入输出计算性能,比使用python list或者嵌套list好很多。Numpy的数据存储和Python原生List是不一样的; Numpy的大部分代码都是C语言实现的,这也是其代码高效的原因。

Numpy是Python各种数据科学类库的基础库:比如SciPy、Scikit-Learn、Tensorflow、PaddlePaddle等。如果不会Numpy,这些库的深入理解都会遇到困难。

Numpy的核心对象array对象以及创建array的方法

Numpy对数组按索引查询

基础索引:
一维数组,和python的List一样。如x[2]、x[5],如x[2:4],x[2:-1]等。
二维数组:如X[0,0],等价于X[0][0],结果为一个元素。
如X[-1,2],取最后一行的第2个元素。
X[2]:第二行,所有的列; X[-1]最后一行。
X[:-1]:除最后一行的所有行。
X[:2,2:4]: 筛选多行,然后筛选多列。
X[:,2]:筛选所有行,然后筛选多列
注意:切片的修改会修改原来的数据,因为Numpy经常要处理大数组,避免每次都复制。

神奇索引:
用整数数组进行的索引,叫神奇索引。

Numpy常random随机数据