深度学习—Pandas标签库基础

概述

numpy给了python列表矩阵运算的功能,pandas则是在此基础上添加了字典的功能,即给数据增加了 ,通过import pandas as pd导入使用,一维对象的创建使用sr=pd.Series()实现,函数内可以使用字典或值和键的列表创建,键缺省时默认为递增数组,该对象有valuesindex两个属性,可通过对象方法直接调用,简单示例展示如下:

二维对象可使用多个一维的Series拼接,本质是列的组合 ,二者index不一致时会取交集,可能造成数据丢失,多个一维对象通过df=pd.DataFram({标签:Series})进行组合,也可以使用df=pd.DataFram(值,行标签,列标签),该对象有三个属性valuesindex和columns,生成简单示例展示如下:

标签并不完全照搬字典的机制,最关键的就是不要求键唯一,标签中允许出现相同键 ,故可以使用index.unique判断是否有重复键,该二维矩阵在深度学习中,行为数据,列为特征

对象索引

由上面的概述知识,我们可以人为规定的元素的键,这称为显式索引 ,同时也有计算机自己使用的,单纯为递增数值的隐式索引 ,分别用索引器lociloc表示,我们访问元素时可以指定索引类型,再使用[键]的方式访问。

在标签中同样支持花式索引,和切片操作,区别是显式索引[起点:终点]切片时包含终点,而隐式不包含,二维数组中的索引器不可省,简单示例如下:

对象变形

转置df.T

翻转

上下翻转df=df.iloc[ : , : : -1]

左右翻转df=df.iloc[ : , -1, : ]

重塑,因为标签的存在,reshape不再适用,只能提取其特定行组成新向量;

拼接,pd.concat(df1,df2,axis),其中axis指定为行或是列,行添加为增加数据个体,列添加为增加特征,一维二维合并只需使用df[键]=src将一维数据赋值给二维即可。

对象运算

numpy类似,加减乘除都是逐元素运算,也可使用聚合函数np.sum()等。

对象与对象之间维度不同仍可运算,但不同的纬度值会直接缺失。

对象缺失值

df.isnull()发现缺失值,返回bool类型的数组

df.dropna(axis,how="方法")剔除缺失值的数据,默认axis=0删除行数据,也推荐该方式,因为训练中样本多而特征少,错误数据剔除样本即可,此外还可以使用how参数对剔除标准进行设置,比如设置为all表示数据全缺失才剔除,也可以输入其他个数。

df.fillna(参数)填充数据,可设置为0,或使用聚合函数np.mean()使用平均值填充,或method="ffill"或"bfill"使用前后数据填充。

Excel导入

以下图简单数据作为示例:

使用df=pd.read.csv(路径,index_col=0)读取表格文件到pandas,数据太多时可用df.head()展示前五行信息,np中的聚合函数在pd中均改为方法,即通过对象直接调用sum等方法,分析结果可用describe聚合查看,简单示例如下:

百分数分别表示该位置的数,如50%代表中位数的值。

数据透视

本文的示例只用于学习语法使用,实际的数据可能数量很大,整体查看很难获得有用信息,此时可以使用函数pivot_table(目的结果,index/colums=因子)查看因子如何影响结果,更新展示数据为

更接近实际问题,透视示例展示如下:

该方法中隐含参数aggfunc默认为mean求平均,也可使用其他聚合函数summax等。

该示例数据量很小,数据集中可能增大时年龄分布可能很广,每个年龄都单独统计看着让人眼花,所以需要进行分割计算,可以用age=pd.cut(df[标签],[分割点])再进行数据穿透,也可以使用pd.qcut(df[标签],n)自动将数据分成n份,简单示例如下:

age=pd.cut(df["年龄"],[0,21,23])
df.pivot_table("工资",index=age,columns="学历")

总结

本节学习了深度学习pandas库的使用,包括创建标签,访问和增加数据,比较关键的是在excel中的导入和使用,该库基于numpy实现,大部分方法可以直接使用,至此我们完成了深度学习数据操作的内容,下一步需要学习的就是网络的相关知识,包括如何搭建和调整参数。

相关推荐
程序员Linc8 分钟前
计算机视觉 vs 机器视觉 | 机器学习 vs 深度学习:核心差异与行业启示
深度学习·机器学习·计算机视觉·机器视觉
zy_destiny24 分钟前
【YOLOv12改进trick】三重注意力TripletAttention引入YOLOv12中,实现遮挡目标检测涨点,含创新点Python代码,方便发论文
网络·人工智能·python·深度学习·yolo·计算机视觉·三重注意力
自由的晚风26 分钟前
深度学习在SSVEP信号分类中的应用分析
人工智能·深度学习·分类
胡耀超2 小时前
5.训练策略:优化深度学习训练过程的实践指南——大模型开发深度学习理论基础
人工智能·python·深度学习·大模型
潘达斯奈基~2 小时前
机器学习4-PCA降维
人工智能·深度学习·机器学习
終不似少年遊*2 小时前
综合使用pandas、numpy、matplotlib、seaborn库做数据分析、挖掘、可视化项目
开发语言·python·机器学习·numpy·pandas·matplotlib·seaborn
国家级退堂鼓9 小时前
YOLOv8改进SPFF-LSKA大核可分离核注意力机制
人工智能·python·深度学习·yolo·目标检测·yolov8
arbboter15 小时前
【AI深度学习基础】Pandas完全指南进阶篇:解锁高效数据处理高阶技能 (含完整代码)
人工智能·深度学习·pandas高级技巧·数据处理性能优化·pandas机器学习整合·时间序列分析实战·数据清洗正则表达式
zxfeng~15 小时前
深度学习之-“深入理解梯度下降”
人工智能·python·深度学习·神经网络
美狐美颜sdk15 小时前
美颜SDK架构揭秘:人脸美型API的底层实现与优化策略
图像处理·人工智能·深度学习·架构·视频美颜sdk·美颜api