
conda :
一个工具,用于包管理和环境管理,其中:包管理与pip类似,管理Python第三方库环境管理能够允许用户使用不同版本Python,并能灵活切换
anaconda :一个集合,包括conda、某版本Python、一批第三方库等
conda将工具、第三方库、Python版本、conda都当作包,同等对待
一维数据 :由对等关系的有序或无序数据构成,采用线性方式组织
列表和数组 :一组数据的有序结构
列表:数据类型可以不同
数组:数据类型相同
二维数据 :由多个一维数据构成,是一维数据的组合形式
多维数据 :由一维或二维数据在新维度上扩展形成
高维数据 :仅利用最基本的二元关系展示数据间的复杂结构 键值对
数据维度的Python表示 :数据维度是数据的组织形式
一维数据:列表和集合类型
[3.1398, 3.1349, 3.1376] 有序
{3.1398, 3.1349, 3.1376} 无序
二维数据:列表类型
多维数据:列表类型
高维数据:字典类型或数据表示格式:JsON、XML和YAML格式
NumPy的数组对象:ndarray
NumPy是一个开源的Python科学计算基础库,是SciPy、Pandas等数据处理或科学计算库的基础。整合C/C++/Fortran代码的工具(运算速度快),线性代数、傅里叶变换、随机数生成等功能。
轴(axis): 保存数据的维度;秩(rank):轴的数量
ndarray对象的属性:
ndarray数组的创建方法 :
(1)从Python中的列表、元组等类型创建ndarray数组
x = np.array(List/tuple)(2)使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
(3)使用NumPy中其他函数创建ndarray数组
ndarray数组的变换:
对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换
a = np.ones((2,3,4), dtype=np.int32)ndarray数组的维度变换:
ndarray数组的类型变换:
new_a = a.astype(new_type)ndarray数组向列表的转换:
ls = a.toList()NumPy一元函数: 对ndarray中的数据执行元素级运算的函数
NumPy二元函数:
单元2 数据存取与函数
数据的CSV文件存取:
np.savetxt(frame, array, fmt='%.18e', delimiter=None) • frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件 • array : 存入文件的数组 • fmt : 写入文件的格式,例如:%d %.2f %.18e • delimiter : 分割字符串,默认是任何空格 np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False) • frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件 • dtype : 数据类型,可选 • delimiter : 分割字符串,默认是任何空格 • unpack : 如果True,读入属性将分别写入不同变量CSV只能有效存储一维和二维数组np.savetxt() np.loadtxt() 只能有效存取一维和二维数组
多维数据的存取
a.tofile(frame, sep='', format='%s') • frame : 文件、字符串 • sep : 数据分割字符串,如果是空串,写入文件为二进制 • format : 写入数据的格式 p.fromfile(frame, dtype=float, count=‐1, sep='') • frame : 文件、字符串 • dtype : 读取的数据类型 • count : 读入元素个数,‐1表示读入整个文件 • sep : 数据分割字符串,如果是空串,写入文件为二进制该方法需要读取时知道存入文件时数组的维度和元素类型, a.tofile() 和 np.fromfile()
需要配合使用,可以通过元数据文件来存储额外信息。
NumPy的便捷文件存取
np.save(fname, array) 或 np.savez(fname, array) • fname : 文件名,以.npy为扩展名,压缩扩展名为.npz • array : 数组变量 np.load(fname) • fname : 文件名,以.npy为扩展名,压缩扩展名为.npzNumPy的随机数函数: np.random.*
NumPy的统计函数:
np.*NumPy的梯度函数:
np.gradIEnt(f) 计算数组f中元素的梯度,当f为多维时,返回每个维度梯度单元3 实例1 图像的手绘效果PIL库: (PIL,Python Image library),是一个具有强大图像处理能力的第三方库。在命令行下的安装方法: pip install pillowfrom PIL import Image :Image是PIL库中代表一个图像的类(对象)
图像的数组表示: im = np.array(Image.open("D:/pycodes/beijing.jpg")); print(im.shape, im.dtype)
图像是一个三维数组,维度分别是高度、宽度和像素RGB值
Matplotlib库介绍 :Python优秀的数据可视化第三方库。Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。 matplotlib.pyplot 是绘制各类可视化图形的命令子库,相当于快捷方式: import matplotlib.pyplot as pltplt.plot() 只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成plt.savefig() 将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量plt.plot(x,y) 当有两个以上参数时,按照X轴和Y轴顺序绘制数据plt.subplot(3,2,4)及plt.subplot(324) 在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域
pyplot的plot()函数
plt.plot(x, y, format_string, **kwargs) ∙ x : X轴数据,列表或数组,可选 ∙ y : Y轴数据,列表或数组 ∙ format_string: 控制曲线的格式字符串,可选,由颜色字符、风格字符和标记字符组成 ∙ **kwargs : 第二组或更多(x,y,format_string) # 当绘制多条曲线时,各条曲线的x不能省略pyplot的文本显示
单元5 Matplotlib基础绘图函数示例
单元6 实例2:引力波的绘制第3周 数据分析之概要单元7 Pandas库入门Pandas库介绍
Pandas 是Python第三方库,提供高性能易用数据类型和分析工具import pandas as pd
Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用
两个数据类型: SerIEs , DataFrame
基于上述数据类型的各类 *** 作:基本 *** 作、运算 *** 作、特征类 *** 作、关联类 *** 作
SerIEs类型由一组数据及与之相关的数据索引组成
SerIEs类型可以由如下类型创建:
• python列表,index与列表元素个数一致
• 标量值,index表达SerIEs类型的尺寸
• Python字典,键值对中的“键”是索引,index从字典中进行选择 *** 作
• ndarray,索引和数据都可以通过ndarray类型创建
• 其他函数,range()函数等
SerIEs类型包括index和values两部分, *** 作类似ndarray类型和Python字典类型。
SerIEs类型的 *** 作类似ndarray类型:
• 索引方法相同,采用[]
• NumPy中运算和 *** 作可用于SerIEs类型
• 可以通过自定义索引的列表进行切片
• 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片
SerIEs类型的 *** 作类似Python字典类型:
• 通过自定义索引访问
• 保留字in *** 作
• 使用.get()方法Pandas库的DataFrame类型
DataFrame类型由共用相同索引的一组列组成
DataFrame类型可以由如下类型创建:
• 二维ndarray对象
• 由一维ndarray、列表、字典、元组或SerIEs构成的字典
• SerIEs类型
• 其他的DataFrame类型
注:由字典创建时字典的key会作为列索引。
DataFrame是二维带“标签”数组,基本 *** 作类似SerIEs,依据行列索引。Pandas库的数据类型 *** 作
重新索引: .reindex(index=None, columns=None, …) 能够改变或重排SerIEs和DataFrame索引
@H_301_354@
索引类型: SerIEs和DataFrame的索引是Index类型,Index对象是不可修改类型
删除指定索引对象:
.drop() 能够删除SerIEs和DataFrame指定行或列索引Pandas库的数据类型运算算术运算法则
算术运算根据行列索引,补齐后运算,运算默认产生浮点数
补齐时缺项填充NaN (空值)
二维和一维、一维和零维间为广播运算
采用+ ‐ * /符号进行的二元运算产生新的对象
数据类型的算术运算
注:fill_value参数替代NaN,替代后参与运算
不同维度间为广播运算,一维SerIEs默认在轴1参与运算
使用运算方法可以令一维SerIEs参与轴0运算
比较运算法则
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用> < >= <= == !=等符号进行的二元运算产生布尔对象
注:同维度运算,尺寸一致;不同维度,广播运算,默认在1轴单元小结
SerIEs = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据
理解数据类型与索引的关系, *** 作索引即 *** 作数据
.sort_index(axis=0, ascending=True) 在指定轴上根据索引进行排序,默认升序.sort_values() 在指定轴上根据数值进行排序,默认升序
SerIEs.sort_values(axis=0, ascending=True) DataFrame.sort_values(by, axis=0, ascending=True) # by:axis轴上的某个索引或索引列表NaN统一放到排序末尾
@H_938_419@数据的基本统计分析基本的统计分析函数
适用于SerIEs和DataFrame类型:
适用于SerIEs类型:
数据的累计统计分析
累计统计分析函数
适用于SerIEs和DataFrame类型,累计计算:
适用于SerIEs和DataFrame类型,滚动计算(窗口计算):
数据的相关分析
相关分析函数: 适用于SerIEs和DataFrame类型
总结
以上是内存溢出为你收集整理的《Python数据分析与展示》课程笔记全部内容,希望文章能够帮你解决《Python数据分析与展示》课程笔记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)