第一周——数据分析之表示 —— Numpy入门

时间:2022-10-19 05:28:10

数据的维度

从一个数据到一组数据

一个数据:表达一个含义

一组数据:表达一个或者多个含义

维度:一组数据的组织形式

一维数据

由对等关系的有序或者无序数据构成,采用线性方式组织,对应列表、数组和集合等概念

列表:数据类型可以不同

数组:数据类型相同

第一周——数据分析之表示  ——  Numpy入门

二维数据

由多个一维数据构成,是一维数据的组合形式

第一周——数据分析之表示  ——  Numpy入门表格是典型的二维数据,其中,表头是二维数据的一部分。

多维数据

第一周——数据分析之表示  ——  Numpy入门多维数据由一维或二维数据在新维度上扩展形成

高维数据

高维数据仅利用最基本的二元关系展示数据间的复杂结构

第一周——数据分析之表示  ——  Numpy入门

数据维度的Python表示:数据维度是数据的组织形式

一维数据:列表和集合类型
[3.1398, 3.1349, 3.1376] 有序
{3.1398, 3.1349, 3.1376} 无序
二维数据:列表类型

多维数据:列表类型

[ [3.1398, 3.1349, 3.1376],

[3.1413, 3.1404, 3.1401] ]

高维数据:字典类型或数据表示格式 JSON、XML和YAML格式

dict = {
“firstName” : “Tian”,
“lastName” : “Song” ,
}

NumPy的数组对象:ndarray,NumPy是SciPy、Pandas等数据处理或科学计算库的基础

Numpy是一个开源的Python科学计算基础库,包含:

• 一个强大的N维数组对象ndarray
• 广播功能函数
• 整合C/C++/Fortran代码的工具
• 线性代数、傅里叶变换、随机数生成等功能

NumPy的引用

import numpy as np
尽管别名可以省略或更改,建议使用上述约定的别

Python已有列表类型,为什么需要一个数组对象(类型)?

第一周——数据分析之表示  ——  Numpy入门

• 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
• 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有数据的类型往往相同
• 数组对象采用相同的数据类型,有助于节省运算和存储空间

ndarray是一个多维数组对象,由两部分构成:
• 实际的数据
• 描述这些数据的元数据(数据维度、数据类型等)
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的元素类型

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的创建方法

• 从Python中的列表、元组等类型创建ndarray数组

• 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros 等

• 从字节流(raw bytes)中创建ndarray数组

• 从文件中读取特定格式,创建ndarray数组

( 1)从Python中的列表、元组等类型创建ndarray数组

x = np.array(list/tuple )

x = np.array(list/tuple, dtype=np.float32)

当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型

第一周——数据分析之表示  ——  Numpy入门

( 2)使用NumPy中函数创建ndarray数组,如:arange, ones, zeros 等

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

3)使用NumPy中其他函数创建ndarray数组

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的变换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的维度变换

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的类型变换

第一周——数据分析之表示  ——  Numpy入门

ndarray数组向列表的转换

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的操作

数组的索引和切片

索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程

一维数组的索引和切片:与Python的列表类似

第一周——数据分析之表示  ——  Numpy入门

多维数组的索引:

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

ndarray数组的运算

数组与标量之间的运算

数组与标量之间的运算作用于数组的每一个元素

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门

NumPy一元函数实例

第一周——数据分析之表示  ——  Numpy入门

NumPy二元函数

第一周——数据分析之表示  ——  Numpy入门

NumPy二元函数实例

第一周——数据分析之表示  ——  Numpy入门

第一周——数据分析之表示  ——  Numpy入门