北理-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解释器在后台运行,它是前台的显示平台
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第1张图片
%run命令
%run demo.py%run在一个空的命名空间执行%
%魔术命令
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第2张图片

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开始
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第3张图片

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第4张图片

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第5张图片
*需要注意的是这里的整数类型有正负之分
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第6张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第7张图片
5.非同质的ndarry对象
*ndarry数组可以由非同质对象组成(如轴内元素数量不一)
*非同质ndarry元素为对象类型x.dtype,返回值为'O'

2.2.3 ndarry数组的创建和变换

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第8张图片
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)
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第9张图片
*np.ones/zeros/eye生成的都是浮点数
*np.arange生成的都是整数

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

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第10张图片
(2)
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第11张图片
3.利用numpy中其他函数创建ndarry数组
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第12张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第13张图片
*endpoint表示最后一个元素10是否是生成元素中的一个,若值为False,则10不是生成的元素中的一个
4.ndarry数组的变换,对ndarry数组进行维度变换
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第14张图片
*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.一维数组的索引与切片
*需要注意的是,终止编号对应的元素是不包含的
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第15张图片
2.多维数组的索引
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第16张图片
3.多维数组的切片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第17张图片

2.2.5 ndarry数组的运算

1.数组与标量之间的运算
数组与标量之间的运算作用于数组的每一个元素
2.numpy一元函数
*ceil返回超过元素的最小的整数值
*floor返回不超过元素的最大的整数值
*数组不会被真实改变,生成的是新数组
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第18张图片北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第19张图片
3.numpy二元函数
*maximum比较的两个数组中元素的数据类型如果不一样(如整数型和浮点数型),会首先进行统一运算,产生的结果(浮点型)
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第20张图片

2.3.1 数据的CSV文件存取

1.CSV是一种常见的文件格式,用于存储批量数据,用逗号分隔
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第21张图片
2.CSV文件的写入
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第22张图片
*np.savetxt不仅可以用于写入CSV文件,还可以用于别的分隔符类型的文件的写入
*但如果需要写入CSV文件,delimiter必须是,
3.CSV文件的读取
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第23张图片
*delimiter是需要我们解析的分隔符
4.CSV只能存储一维和二维数组

2.3.2 多维数据的存取

1.写入文件
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第24张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第25张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第26张图片
*二进制会比文本文件占更小的空间
2.读取文件
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第27张图片
*指定数据类型dtype是必须的,一般默认为float
*该方法读取的时候需要知道存入文件时数组的维度和元素类型,np.tofilenp.fromfile需要配合使用,可以通过元数据文件来存储额外信息
3.numpy的便捷文件存取 适用于多维数据的存储
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第28张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第29张图片
*但需要注意的是,这只适用于numpy的存储读取,并不适用于所有文件

2.3.3 numpy的随机数函数

1.random库
*numpy的random子库,可以为数组类型,提供随机数的相关功能
*python中的random模块是用于为标量提供随机数的。
np.random.
2.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第30张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第31张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第32张图片
3.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第33张图片北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第34张图片
4.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第35张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第36张图片

2.3.4 numpy的统计函数

1.np.
2.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第37张图片
最外层axis为0,里层为1
np.mean(a,axis=1)表示数组在维度为1的方向上进行运算,可以理解为数组往维度为1的方向进行压缩,如图
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第38张图片
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第39张图片
3.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第40张图片

2.3.5 numpy的梯度函数

1.
image.png
连续值之间的变化率就是梯度,即斜率
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第41张图片
*北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第42张图片
*多维的梯度可以用于发现声音数据的边缘变化

2.4.1 图像的数组表示

1.图像一般使用RGB模式,每个颜色通道的取值均为[0,255],RGB形成的颜色包括了人类视力所包括的颜色。
2.PIL库是一个具有强大图像处理能力的第三方库,fron PIL import ImageImage是PIL中代表一个图像的类(对象)。
3.图像是一个由像素组成的二维矩阵,每个元素是一个RGB值
北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第43张图片
4.北理-Python数据分析与展示-Numpy、Matplotlib、Pandas PART1_第44张图片

你可能感兴趣的:(机器学习,吴恩达,目标18天,python,数据分析,numpy)