【Python数据分析】笔记

学习资料:

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

Numpy

1.1 数据的维度

1.1.1 列表与数组

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

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

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

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

1.1.3 数据维度的python表示
  • 一维数据:列表和集合

  • 二维数据:列表

  • 多维数据:列表

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

1.2 Numpy的数组对象ndarray

1.2.1 ndarray基本语法

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

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

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

  • .shape n行m列

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

  • .dtype 对象的元素类型

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

1.2.2 ndarray的创建和变换
1.2.2.1 ndarray的创建

  • x=np.array(list/tuple)

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

  • 利用函数创建ndarray数组

使用其他函数创建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的列表类似

多维数组的索引

  • 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值

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

1.2.4.3 二元函数

1.3 文件的存取

1.3.1 CSV文件存取
  • %d表示以整数形式写入文件中

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

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

1.3.2 多维数据的存取
1.3.3 numpy的便捷文件存取

1.4 numpy的随机数函数

numpy的random子库

  • np.random.*

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

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

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

1.4.1 随机函数(1)

实例化

  • 重复使用同样的随机数种子可以在测试的时候得到相同的随机数组

1.4.2 随机函数(2)

实例化

1.4.3 随机函数(3)

实例化

1.5 numpy的统计函数

  • np.*

  • np.std()

  • np.var()

  • np.average()

1.5.1 统计函数(1)

实例化

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

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

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

1.5.2 统计函数(2)

实例化

1.6 numpy的梯度函数

  • np.gradient(f)

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

实例化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值