目录
NumPy库
NumPy库支持多为结构数组
提供大量数值运算函数
可进行向量运算
可进行矩阵运算。
创建数组
导入:import numpy as np
使用Numpy库的array来创建数组
使用shape属性来查看array1的数据结构
修改shape属性,可以改变array1的结构。例如改成2维结构。
使用reshape()函数再array1数组的基础上,创建新的二维结构的数组array2
因为没有修改array1的shape属性,所以这次array1的shape属性值不变。
此时array1和array2公用内存中的数据存储值。
任意更改其中一个数组元素,另一个数组对应的元素值也会改变。
通过array()创建多维数组
使用arange()生成数组,可以设定起始值,结束值和步长
Arrange()函数创建的数组序列不包括结束值。
Linspace()函数创建的数组序列,可以通过endpoint参数来决定是否需要包含结束值。默认包含。
Linspace()函数创建的数组,默认为浮点数,如果需要整数,可以通过dtype参数来设置。
在不知道数组具体数值时创建数组。
使用zeros()创建全部元素为0的数组
使用ones()创建全部元素为1的数组
使用empty()函数生成给定维度,无初始值的数组。元素的值由内存中原内容决定,无特别意义。
数组元素索引和切片
使用数组中元素的索引值来提取单个或多个元素。
方法为array【start:end:step】
提取连续的几个元素
从0开始,但是不包括索引值4
从索引值2开始,直到最后一个元素
索引值为负数时,从右边往左算。-1的索引值,表示最后一个元素。
不包含最后一个元素
通过索引对数组进行切片,提取的数组与原数组共享数据内存。
可以看到,a2的索引值为0的元素变为19
使用数组来作为索引,不与原数组共享内存数据空间。
可以看到,使用数组来作索引提取的数组,不共享内存数据空间。
A1元素发生改变后,a3的数组元素保持不变。
生成3维数组