列表和array模块,是python自带的。
Numpy两种基本对象:
- ndarray
- ufunc
ndarray对象
修改数组的shape属性,在保持数组元素个数不变的情况下,改变数组每个轴的长度。只是改变每个轴的大小,数组元素在内存中的位置并没有改变。当设置某个轴的元素个数为-1时,将自动计算此轴的长度。第0轴指的是有几行。
数值类型与数值对象
创建ndarray对象
- array()
- arange(开始值,终值,步长),不包含终值
- linspace(开始值,终值,元数个数),创建等差数列,默认包含终值
- logspace(),创建等比数列
- empty() np.empty_like()
- zeros() np.zeros_like()
- ones() np.ones_like()
- full() np.full_like()
- fromstring() python的字符串实际上是一个字节序列,每个字符占一个字节。因此如果从字符串创面一个8位的整数类型,所得到的数组正好就是字符串中每个字符的ASCII码。
- fromfile()
- frombuffer()
- fromfunction()
存取元素
和列表不同的是,通过切片获取的新的数组是原始数组的一个视图,它与原始数组共享同一块数据存储空间。
- 切片下标,通过切片获取的新的数组是原始数组的一个视图
- 整数列表,将使用列表中每个元素作为下标。使用列表作为下标得到的数组不和原始数组共享数据。
- 整数数组,当使用整数数组作为数组下标时,将得到一个形状和下标数组相同的新数组,新数组的每个元素都是用下标数组中对应位置的值作为下标从原数组获得值。当下标数组是一维数组时,结果和用列表作为的下标的结果相同。
- 布尔数组,使用布尔数组作为下标获得的数值不和原始数组共享内存。这种方式只对应于布尔数组,不能使用布尔列表
函数名 | 功能 | 说明 |
---|---|---|
min | 最小值 | 计算数组的最小值 |
max | 最大值 | 计算数组的最大值 |
minimum | 二元最小值 | 用于比较两个数组对应小标的元素 |
maximum | 二元最大值 | 用于比较两个数组对应下标的元素 |
ptp | 最大值与最小值的差 | |
argmin | 最小值的下标 | |
argmax | 最大值的下标 | |
unravel_index | 一维下标转换成多维下标 | |
sort | 数组排序 | |
argsort | 计算数组排序的下标 | |
lexsort | 多列排序 | |
partition | 快速计算前K位 | |
argpartition | 前K位的下标 | |
median | 中位数 | |
precentile | 百分位数 | |
searchsorted | 二分查找 |