Python数据分析——NumPy数值计算基础(一)
思维导图放上:
数组的维度
一维数据
- 一维数据由对等关系的有序或无需数据构成,采用线性方式组织。
- Python表示(列表和集合表示):如:
[3.1125,3.2554,3.5648]
有序;{3.1125,3.2554,3.5648}
无序
列表和数组
- 都是表示一组数据的有序结构
- 不同:列表:数据类型可以不同,例如:3.1415,‘pi’,‘3.14’
数组:数据类型相同,例如:3.14,3.154,3.258
二维数据
- 二维数据由多个一维数据构成,是一维数据的组合形式。
- Python表示(列表表示):如:
[ [3.1125,3.2554,3.5648] , [3.1455,3.1574,3.1415] ]
多维数据
- 多维数据由一维或二维数据在新维度上扩展形成。
NumPy的数组对象ndarray
什么是NumPy
- NumPy是用于数据科学计算的基础模块,重在数值计算,也是大部分python可算计算库的基础库,多用于在大型、多维数组上执行数值计算
NumPy的引用
import numpy as np
- as np:引入模块的别名,别名可以省略或更改,建议使用这个约定的别名
创建数组对象
数组属性
- ndarray(数组)是存储单一数据类型的多维数组
例:
数组数据类型
- NumPy基本数据类型与其取值范围(只展示一部分)
ndarray数组创建方法
- 从python中的列表、元组等类型创建ndarray数组
x = np.array(list/tuple)
x = np.array(list/tuple,dtype=np.float32)
例:
- 使用NumPy中函数创建ndarray数组,如:arange,ones,zeros等
例:
使用NumPy中其他函数创建ndarray数组:
例:
注:NumPy生成的数组中都要把元素作为浮点数,NumPy是用于科学计算的库,科学计算中都用的是浮点数。 - 从字节流(raw bytes)中创建ndarray数组
- 从文件中读取特定格式创建ndarray数组
ndarray数组的变换
- 对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换
- ndarray数组的维度变换:
例:
- ndarray数组的类型变换
new_a = a.satype(new_type)
例:
注:astype()方法一定会创建新的数组(原始数据的拷贝),即使两个类型一致。
ndarray数组向列表的转换
Is = a.tolist()
例:
通过索引和切片访问数组
- 索引:获取数组中特定位置元素的过程
- 切片:获取数组元素子集的过程
一维数组的索引和切片
- 与python的列表类似
例:
a[1:4:2]
- 其中’[ ]'里面代表的是:起始编号:终止编号(不含):步长
- 3元素冒号分割
多维数组的索引
- 多维数组的索引
例:
注:每个维度一个索引值,用逗号分割。
- 多维数组的切片
例:
ndarray数组的运算
- 数组与标量之间的运算作用于数组的每一个元素
例:计算a与元素平均值的商
NumPy一元函数
- 对ndarray中的数据执行元素级运算的函数
ps:以上只需理解,无需记忆
NumPy二元函数
例: