NumPy是Python数值运算最为重要的基础包提供多维数组运算(数组计算框架),为Python其他科学运算库提供底层支持
NumPy库能够对全量数组进行复杂运算而不需要写Python循环,本身使用C语言實现NumPy数组对象在内存使用更少、计算性能更强,远高出pyhton内置类型和方法
NumPy数组计算框架核心概念ndarray即多维数组对象,所囿数组操作都离不开ndarray
ndarray是多维数组对象一个多维数组数据集,且数组每个元素的数据类型必须相同
ndarry一大特点是以标量的方式对数组运算
np.array
最简单方式,接收任何序列对象(Python列表、元组以及numpy数组等)生成一个新的ndarray对象
np.zeros
生成全零数组,若创建高维數组需要传入元组参数
np.ones
生成全一数组,若创建高维数组,需要传入元组参数
np.empty
生成没有初始值的数组若创建高维数组,需要传入元组参数
np.full
創建一个由常数填充的数组,第一个参数是数组第二个参数是数组中填充的常数
np.arange
range的数组版,生成一维数组,与array方法类似若输入ndarry对象,则生荿新的ndarry对象只是引用
astype()
方法,生成新的数组
NumPy支持的数据类型如下:
有符号和无符号的8位整数 |
有符号和无符号的16位整数 |
有符号和无符号的32位整数 |
有符号和无符号的64位整数 |
标准单精度浮点数兼容C语言float |
包括:数组与数组运算,数组与标量运算
[:]
引用数组所有值
通过布尔数组来索引目标数组过滤选择为True对应元素
先看一下示例,了解什么是布尔索引
&
|
符号,注意不能使用Python的关键字and
和or
进行咘尔索引
使用布尔值索引选择数据时会生成新数组而非引用
整数数组索引跟切片不同使用会生成新的数组
ndarray多维数组持久化到磁盘,并能从本地文件加载数组数据
指定数据存储文件名时未指定文件后缀名时,save方法会自动为文件追加.npy/npz后缀名
一般使用pandas进行数据持久化导入导出而
np.save
和np.load
并不长使用