NumPy库入门
数据的维度
一个数据表达一个含义,一组数据表达一个或多个含义
维度:一组数据的组织形式
一维数据
一维数据由对等关系的有序或无序数据构成,采用线性方式组织。
如:1, 2, 3, 4, 5
对应列表、数组和集合等概念。Python中没有数组类型
**列表和数组:**一组数据的有序结构
列表:数组类型可以不同
3.14, 1, ‘pq’, [1, 2.0], ‘3.14’
数组:数据类型相同
3.14, 3.15, 3.16, 3.17
二维数据
二维数据由多个一维数据构成,是一维数据的组合形式。
表格是典型的二维数据,其中表头可以是二维数据的一部分或之外的部分
多维数据
多维数据由一维或二维数据在新维度上扩展形成。
如多个时间的表格叠加在一起。
高维数据
高维数据仅利用最基本的二元关系展示数据间的复杂结构。
如键值对。
数据维度的Python表示
一维数据:列表和集合类型
二维数据:列表类型
多维数据:列表类型
高维数据:字典类型或数据表示格式
JSON/XML/YAML
Numpy的数组对象:ndarray
Numpy
Numpy是一个开源的Python科学计算基础库
- 一个强大的N维数组对象ndarray
- 广播功能函数
- 整合C/C++/Fortran代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
Numpy是Scipy、Pandas等数据处理或科学计算库的基础。
Numpy的引用:import numpy as np
N维数组对象:ndarray
- 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。
- 设置专门的数组对象,经过优化,可以提升这类应用的运算速度。
**观察:**科学计算中,一个维度所有数据的类型往往相同 - 数组对象采用相同的数据类型,有助于节省运算和存储空间。
ndarray是一个多维数组对象,由两部分构成: - 实际的数据
- 描述这些数据的元数据(数据维度、数据类型等)
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。
ndarray实例
np.array()生成一个ndarray数组
ndarray在程序中的别名是:array
np.array()输出成[]形式,元素由空格分割。
轴(axis):保存数据的维度(每一个维度的数据)
秩(rank):轴的数量(多少个维度)
ndarray的元素类型
对比:Python语法仅支持整数、浮点数和复数3种类型 - 科学计算涉及数据较多,对存储和性能都有较高要求。
- 对元素类型精细定义,有助于Numpy合理使用存储空间并优化性能。
- 对元素类型精细定义,有助于程序员对程序规模有合理评估。
ndarray数组可以由非同质对象构成。非同质ndarray元素为对象类型。非同质ndarray对象无法有效发挥Nump