NumPy是一个开源的Python科学计算基础库,包含:
• 一个强大的N维数组对象 ndarray
• 广播功能函数
• 整合C/C++/Fortran代码的工具
• 线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础
numpy用途是很广的,涉及到数字计算等都可以使用,它的优势在于底层是C语言开发的数据非常快。
可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
• 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
• 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有数据的类型往往相同
• 数组对象采用相同的数据类型,有助于节省运算和存储空间
具体可以看下面一个例子:(来源嵩天老师案例)
先安装numpy库
pip install numpy
导入使用
import numpy as np
ndarray是一个多维数组对象,由两部分构成:
• 实际的数据
• 描述这些数据的元数据(数据维度、数据类型等)
创建数组对象
支持非常多种的创建方法,有列表数据创建或者numpy自带函数创建
列表元素创建
全0 数组
全1数组
arange指定有序范围
查看数组对象属性
通过reshape快速进行维度变换,这里由4行4列变成2行8列了。
索引:获取数组中特定位置元素的过程,和列表使用方式一样。先获取最外层的索引,然后在获取内层的索引。
切片:获取数组元素子集的过程,和列表切片一样,先获取外层,然后再针对内层操作。
获取第一行和获取前三行
获取第一行的前两列和获取前三行的前三列
numpy.vstack((a,b)):纵向堆积(按列拼接)
numpy.hstack((a,b)):横向堆积(按行拼接)
数组与标量之间的运算作用于数组的每一个元素
这里只展示加减,数组和数组之前的乘法这里比较难理解就不讲了。
numpy提供了数学中的很多函数,可以之间作用于数组对象上
numpy同时也提供了很多统计函数,便于我们快速统计出一些要用的数据。
参数:
参数:
(全文完)