【Python数据分析】笔记

学习资料:

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas 作者:啥都会一点的研究生 https://www.bilibili.com/read/cv15624770 出处:bilibili

Numpy

1.1 数据的维度

1.1.1 列表与数组

相同:都表示一组数据的有序结构

相异:列表的数据类型可以不同,数组的数据类型相同

1.1.2 多维数据与高维数据

  • 多维数据由一维或二维数据在新维度上扩展形成

  • 高维数据仅使用最基本的二元关系(如键值对)展示数据间的复杂结构,如:

【Python数据分析】笔记_第1张图片

1.1.3 数据维度的python表示

  • 一维数据:列表和集合

  • 二维数据:列表

  • 多维数据:列表

  • 高维数据:字典或数据表示格式

1.2 Numpy的数组对象ndarray

1.2.1 ndarray基本语法

数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据

【Python数据分析】笔记_第2张图片
【Python数据分析】笔记_第3张图片

  • **np.array()**:生成一个ndarray数组

  • .ndim 秩,即轴的数量或维度的数量

  • .shape n行m列

  • .size 对象元素的个数,即n*m的值

  • .dtype 对象的元素类型

  • .itemsize 对象中每个元素所占字节的大小

1.2.2 ndarray的创建和变换

1.2.2.1 ndarray的创建
【Python数据分析】笔记_第4张图片

  • x=np.array(list/tuple)

  • dtype 参数可以在创建时传入想指定的数据类型

  • 利用函数创建ndarray数组

【Python数据分析】笔记_第5张图片
【Python数据分析】笔记_第6张图片

使用其他函数创建ndarray数组,如:

  • np.linspace(起始元素,终止元素,元素个数)

  • endpoint参数 默认为True,当传入False时,不将终止元素算入元素个数

  • np.concatnate((a,b)) 连接数组a,b,注意是以元组方式传入a,b

1.2.2.2 ndarray的维度变换
  • .reshape(shape) 原数组不变,返回一个shape形状的数组

  • .resize 修改原数组,返回结果与.reshape()相同

  • .swapaxes(ax1,ax2) 将数组的其中两个维度进行调换

  • .flatten() 原数组不变,返回降维后的一维数组

1.2.2.3 ndarray的类型变换
  • new_a=a.astype(new_type) 原数组不变,创建新数组

1.2.2.4 ndarray转换为列表
  • .tolist()

1.2.3 ndarray的索引和切片

数组的索引和切片

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

【Python数据分析】笔记_第7张图片

多维数组的索引

  • a[x,y,z]

多维数组的切片

  • a[: ,: ,: ] 当涉及步长时,每个维度用两个冒号表示跳跃切片

1.2.4 ndarray的运算

1.2.4.1数组与标量的运算

数组与标量的加减乘除作用于数组的每一个元素

1.2.4.2 元素级运算的函数
  • np.abs(x)/np.fabs(x) 计算各元素的绝对值

  • np.sqrt(x) 计算各元素的平方根

  • **np.aqare(x) ** 计算各元素的平方

  • np.log(x)/np.log10(x)/np.log2(x) 计算各元素的自然对数、10底对数和2底对数

  • **np.ceil(x)/np.floor(x)** 计算各元素的ceiling值或floor值

【Python数据分析】笔记_第8张图片

几乎numpy的一元函数作用后都是生成了新数组 而没有改变原来的数组

1.2.4.3 二元函数
【Python数据分析】笔记_第9张图片

1.3 文件的存取

1.3.1 CSV文件存取

【Python数据分析】笔记_第10张图片
  • %d表示以整数形式写入文件中

  • %.2f表示以两位小数形式写入文件,%.1f表示以一位小数形式写入文件

【Python数据分析】笔记_第11张图片
【Python数据分析】笔记_第12张图片

csv文件的局限性:只能存储一维和二维数组

1.3.2 多维数据的存取

【Python数据分析】笔记_第13张图片

1.3.3 numpy的便捷文件存取

【Python数据分析】笔记_第14张图片

1.4 numpy的随机数函数

numpy的random子库

  • np.random.*

  • np.random.rand() 每个元素是[0,1)的浮点数 满足均匀分布

  • np.random.randn() 满足正态分布

  • np.random.randint() 默认满足均匀分布

1.4.1 随机函数(1)

【Python数据分析】笔记_第15张图片

实例化

【Python数据分析】笔记_第16张图片
  • 重复使用同样的随机数种子可以在测试的时候得到相同的随机数组

1.4.2 随机函数(2)

【Python数据分析】笔记_第17张图片

实例化

【Python数据分析】笔记_第18张图片

1.4.3 随机函数(3)

【Python数据分析】笔记_第19张图片

实例化

1.5 numpy的统计函数

  • np.*

  • np.std()

  • np.var()

  • np.average()

1.5.1 统计函数(1)

【Python数据分析】笔记_第20张图片

实例化

【Python数据分析】笔记_第21张图片

默认情况下 axis=None 表示对所有元素进行累加计算

  • axis=0 列数不变,对每一列进行计算得一个新值

  • axis=1 行数不变,对每一行进行计算得一个新值

1.5.2 统计函数(2)

【Python数据分析】笔记_第22张图片

实例化

【Python数据分析】笔记_第23张图片

1.6 numpy的梯度函数

  • np.gradient(f)

  • 计算数组f中元素的梯度,当f为多维时,返回每个维度梯度

实例化

【Python数据分析】笔记_第24张图片

你可能感兴趣的:(数据分析,python)