北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1

前言

1.开发工具
*文本类开发工具
*IDLE 适用于python入门
*sublime text 第三方编程工具
*集成式开发工具
*eclipse
*pycharm
*针对科学计算 数据分析的IDLE
*canopy
anaconda
一个集合,包含conda、某版本python、一批第三方库,包含IPython、Spyder等,是conda的扩展,类似于nvm与node的关系
包管理和环境管理工具 conda
–包管理,类似pip,管理python第三方库
–环境管理,允许用户使用不同版本python,且可以灵活切换
2.IPython
anaconda中一个强大的交互式编程工具,可以调用核心的python解释器在后台运行,它是前台的显示平台
image.png
%run命令
%run demo.py%run在一个空的命名空间执行%
%魔术命令
image.png

week1 numpy

2.2.1 数据的维度

1.维度,是一组数据的组织形式
2.一维数据,由对等关系的无序或有序数据构成,采用线性方式组织
*python中如列表(有序)、元组、集合(无序)就是一维数据
*列表与数组的区别:列表中数据类型可以不同,数组中数据类型需要一样
3.二维数据由多个一维数据构成,是一维数据的组合形式,表格是典型的二维数据。其中,表头可以是二维数据的一部分,也可以不是。
*列表类型
4.多维数据,由一维数据或二维数据在新维度上扩展而成
*列表类型
5.高维数据,仅使用最基本的二元关系(键值对)(类似对象)展示数据间的复杂结构
*字典类型或数据表示格式(JSON/XML…)

2.2.2 numpy的数组对象ndarray

1.numpy提供
*广播功能函数
*一个强大的n维数组对象ndarray
*整合C/C++等代码的工具
线性代数、傅里叶变换、随机数生成功能
2.numpy的引用
import numpy as np
3.N维数组对象:ndarray,为什么需要这样一个数组对象?
*数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
*C语言为底,运算速度快
使用相同的数据类型,节省存储空间
4.N维数组对象:ndarray
由两部分构成,实际的数据和描述这些数据的元数据(数据维度、数据类型等)
一般要求元素类型相同,下标从0开始
image.png

image.png

image.png
*需要注意的是这里的整数类型有正负之分
image.png
image.png
5.非同质的ndarry对象
*ndarry数组可以由非同质对象组成(如轴内元素数量不一)
*非同质ndarry元素为对象类型x.dtype,返回值为'O'

2.2.3 ndarry数组的创建和变换

image.png
1.从python的列表、元组等类型创建ndarry数组
*x=np.array([1,2,3])/x=np.array([(1,2,3),[4,5,6]],dtype=np.float)
*混合使用的时候只需要元组和列表的数据类型和数量一致就可以使用
2.利用numpy中函数创建ndarry数组
(1)
image.png
*np.ones/zeros/eye生成的都是浮点数
*np.arange生成的都是整数

np.arange(10)
np.ones((3,6))
np.zeros((3,6,5),dtype=np.float)
np.eye(5)

image.png
(2)
image.png
3.利用numpy中其他函数创建ndarry数组
image.png
image.png
*endpoint表示最后一个元素10是否是生成元素中的一个,若值为False,则10不是生成的元素中的一个
4.ndarry数组的变换,对ndarry数组进行维度变换
image.png
*resize直接改变原数组,reshape不改变原数组
*flatten直接将多维数组(n)降维为一维数组
5.ndarry数组的变换,对ndarry数组进行元素类型变换
new_a=a.astype(new_type)``b=a.astype(np.float)
np.int和np.float都是代表一类元素类型,编写代码的时候不必要区分,python会自动编译
astype返回一个新数组,也可以用于拷贝(元素类型不变)
6.ndarry数组向列表的转换
ls=a.tolist()

2.2.4 ndarry数组的操作(索引和切片)

1.一维数组的索引与切片
*需要注意的是,终止编号对应的元素是不包含的
image.png
2.多维数组的索引
image.png
3.多维数组的切片
image.png

2.2.5 ndarry数组的运算

1.数组与标量之间的运算
数组与标量之间的运算作用于数组的每一个元素
2.numpy一元函数
*ceil返回超过元素的最小的整数值
*floor返回不超过元素的最大的整数值
*数组不会被真实改变,生成的是新数组
image.pngimage.png
3.numpy二元函数
*maximum比较的两个数组中元素的数据类型如果不一样(如整数型和浮点数型),会首先进行统一运算,产生的结果(浮点型)
image.png

2.3.1 数据的CSV文件存取

1.CSV是一种常见的文件格式,用于存储批量数据,用逗号分隔
image.png
2.CSV文件的写入
image.png
*np.savetxt不仅可以用于写入CSV文件,还可以用于别的分隔符类型的文件的写入
*但如果需要写入CSV文件,delimiter必须是,
3.CSV文件的读取
image.png
*delimiter是需要我们解析的分隔符
4.CSV只能存储一维和二维数组

2.3.2 多维数据的存取

1.写入文件
image.png
image.png
image.png
*二进制会比文本文件占更小的空间
2.读取文件
image.png
*指定数据类型dtype是必须的,一般默认为float
*该方法读取的时候需要知道存入文件时数组的维度和元素类型,np.tofilenp.fromfile需要配合使用,可以通过元数据文件来存储额外信息
3.numpy的便捷文件存取 适用于多维数据的存储
image.png
image.png
*但需要注意的是,这只适用于numpy的存储读取,并不适用于所有文件

2.3.3 numpy的随机数函数

1.random库
*numpy的random子库,可以为数组类型,提供随机数的相关功能
*python中的random模块是用于为标量提供随机数的。
np.random.
2.image.png
image.png
image.png
3.image.pngimage.png
4.image.png
image.png

2.3.4 numpy的统计函数

1.np.
2.image.png
最外层axis为0,里层为1
np.mean(a,axis=1)表示数组在维度为1的方向上进行运算,可以理解为数组往维度为1的方向进行压缩,如图
image.png
image.png
3.image.png

2.3.5 numpy的梯度函数

1.
image.png
连续值之间的变化率就是梯度,即斜率
image.png
*image.png
*多维的梯度可以用于发现声音数据的边缘变化

2.4.1 图像的数组表示

1.图像一般使用RGB模式,每个颜色通道的取值均为[0,255],RGB形成的颜色包括了人类视力所包括的颜色。
2.PIL库是一个具有强大图像处理能力的第三方库,fron PIL import ImageImage是PIL中代表一个图像的类(对象)。
3.图像是一个由像素组成的二维矩阵,每个元素是一个RGB值
image.png
4.image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值