课程链接:Python数据分析与展示_北京理工大学_中国大学MOOC(慕课) (icourse163.org)
目录
数据的维度
1. 列表和数组的比较
都是一组数据的有序结构
区别:列表:数据类型可以不同;数组:数据类型相同
2. 高维数据
高维数据仅利用最基本的二元关系展示数据间的复杂结构
举例如下:
3. 数据维度的Python表示
一维数据:列表和集合类型
二维数据:列表类型
多维数据:列表类型
高维数据:字典类型或数据表示格式
数据表示格式:JSON、XML、YAML格式
Numpy的数组对象:ndarray
Numpy
1. numpy是一个开源的Python科学计算基础库
- 一个强大的N维数组对象:ndarray
- 提供了一组广播功能函数,用来在数组之间进行计算
- 提供了整合C/C++/Fortran代码的工具
- 提供了线性代数、傅里叶变换、随机数生成等功能
numpy是SciPy、pandas等数据处理或科学计算库的基础。
2. numpy的引用
import numpy as np
3. N维数组对象ndarray的作用
- 数组对象可以去掉元素间运算所需要的循环,使一维向量更像单个数据
- 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
numpy的底层实现是由C语言来完成的,也就是说,在进行数组运算的时候底层C语言会提供非常高效和快速的运算性能,这样使得在进行大规模运算的时候运算时间会比较少。
N维数组对象:ndarray
1. ndarray是一个多维数组对象,由两部分构成:
- 实际的数据
- 描述这些数据的元数据(数据维度、数据类型等),需要额外的空间
这两部分就构成了计算机可以理解的n维数据
2. ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始
3. ndarray对象的属性
属性 | 说明 |
---|---|
.ndim | 秩,即轴的数量或维度的数量 |
.shape | ndarray对象的尺度,对于矩阵,n行m 列 |
.size | ndarray对象元素的个数,相当于.shape中n*m的值 |
.dtype | ndarray对象的元素类型 |
.itemsize | ndarray对象中每个元素的大小,以字节为单位 |
4. ndarray的元素类型
数据类型 | 说明 |
---|---|
bool | 布尔类型,True或False |
intc | 与C语言中的int类型一致,一般是int32或int64 |
intp | 用于索引的整数,与C语言中ssize_t一致,int32或int64 |
int8 | 字节长度的整数,取值[-128,127] |
int16 | 16位长度的整数,取值:[-32768, 32767] |
int32 | 32位长度的整数,取值:[-2^31, 2^31 -1] |
int64 | 64位长度的整数,取值:[-2^63, 2^63 -1] |
数据类型 | 说明 |
---|---|
complex64 | 复数类型,实部和虚部都是32位浮点数 |
complex128 | 复数类型,实部和虚部都是64位浮点数 |
对比:Python语法仅支持整数、浮点数和复数3种类型
- 科学计算涉及数据较多,对存储和性能都有较高要求
- 对元素类型精细定义,有助于numpy合理使用存储空间并优化性能
- 对元素类型精确定义,有助于程序员对程序规模有合理评估