目录
Numpy库入门
1. 数据的维度
维度:一组数据的组织形式,数据维度就是在数据之间形成特定关系,表达多种数据含义的基础概念。
(1) 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织,对应列表、集合、数组等概念
列表:列表中每一个元素的数据类型可以不同
数组:要求每一个元素的数据类型相同
(2)二维数据:由多个一维数据构成,是一维数据的组合形式,表格是典型的二维数据
(3)多维数据:由一维或二维数据在新维度上扩展形成
(4)高维数据:高维数据仅利用最基本的二元关系展示数据间的复杂结构,数据之间的包含、并列、属性关系
高维数据就是用键值对将数据组织起来的一种方式
数据维度 | 类型 | 表示 |
一维数据 | 列表或集合类型 | [1, 2, 3, 4] 有序 {1, 2, 3, 4} 无序 |
二维数据 | 列表类型 | [ [1, 2, 3, 4], [5, 6, 7, 8] ] |
多维数据 | 列表类型 | |
高维数据 | 字典类型或数据表示格式 | dict = { "firstname" : "Lu", "lastname": "Hui", } 数据表示格式:JSON、 XML和YAML格式 |
2. Numpy库
NumPy是一个开源的Python科学计算基础库,NumPy是SciPy、 Pandas等数据处理或科学计算库的基础,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合C/C++/Fortran代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
import numpy as np # 引用Numpy
3. Numpy的数组对象:ndarray
引入数组对象的原因:将n个数组当作n个数据,在数据维度相同时可以直接进行运算,简化批量数据数据处理过程,提高运算速 度,节省存储空间
- 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
- 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
- 科学计算中,一个维度所有数据的类型往往相同,数组对象采用相同的数据类型,有助于节省运算和存储空间
ndarray是一个多维数组对象,由两部分构成:
- 实际的数据
- 描述这些数据的元数据(数据维度、数据类型等)
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始,其元素为对象类型。非同质ndarray无法有效发挥NumPy优势,尽量避免使用。ndarray两个基本概念:
轴(axis):保存数据的维度
秩(rank):轴的数量,即有几个维度
(1)ndarray对象的属性