文章目录
Numpy
numpy是一个开源的python科学计算基础库:
------ 一个强大的N维数组对象ndarray
------ 广播功能函数
------ 整合c/c++/Fortran代码的工具
------ 线性代数,傅里叶变换,随机数生成等功能
引言:数据的基本概念
维度:一组数据的组织形式
一维数据:由对等关系的有序或无序数据构成,采用线性方式组织(相当于python中的列表,数组,集合等)
列表和数组区别:
------列表中的元素类型可以不同,但数组元素类型必须一致
二维数据:由多个一维数据组成,是一维数据的组合形式(如嵌套列表)
多维数据:由一维或二维数据在新维度上扩展形成(多层嵌套列表)
高维数据:仅利用最基本的二元关系展示数据之间的复杂结构(字典,数据表示格式(json,xml))
N维数组对象(ndarray)
优点:
---- 数组对象可以使一维以及多维数据像单个数据一样看待
---- 多种数据类型,可以适当选择,合理使用空间,还可以提升计算速度(底层通过C语言实现)
---- 数组对象采用相同的数据类型,可以节省运算以及存储的空间
ndarray对象组成:
---- 实际的数据值
---- 描述数据基本特征的元数据(数据维度,数据类型,大小,元素类型,元素大小)
ndarray对象属性 | 说明 |
---|---|
.ndim | 秩,即轴的数量或维度的数量 |
.shape | 数组的维度 |
.size | 数组中元素的个数 |
.dtype | 数组中元素的类型 |
.itemsize | 每个数组元素的大小,单位字节 |
ndarray元素类型
bool(布尔类型),intc(与C语言int类型一致),intp(与C语言ssize_t一致)
int8,int16,int32,int64(分别是8位,16位,32位,64位长度整数)
uint8,uint16,uint32,uint64(分别是8位,16位,32位,64位长度无符号整数)
float16,float32,float64(分别是16位,32位,64位半精度浮点数)
complex64,complex128(分别是实部和虚部分别为32位或64位浮点数的复数)
ndarray数组创建
函数中的dtype参数可以用np.int,np.float等,numpy将会自动匹配对应的fl