ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ubuntu之路——day3(本来打算做pytorch的练习 但是想到前段时间的数据预处理的可视化分析 就先总结一下)

2019-07-10 14:03:26  阅读:272  来源: 互联网

标签:常用 直方图 seaborn 子图 pytorch day3 xx ubuntu 属性


首先依托于一个场景来进行可视化分析 直接选了天池大数据竞赛的新人赛的一个活跃题目 用的方式也是最常用的数据预处理方式

【新人赛】快来一起挖掘幸福感!https://tianchi.aliyun.com/competition/entrance/231702/introduction

既然是data cleaning的总结 就稍微写详细点 (其实感觉在写废话 我一共就想总结一下matplotlib的pyplot和seaborn的画图)

用pandas读进来之后是dataframe格式的,所以可以用df的一些方法进行查看,注意下文的xx都是你自己读文件的变量名

第一条常用的:xx.head()啥都不填默认查看前五条数据对应的xx.tail()查看后五行

第二条常用的:xx.describe()查看所有特征的值分布 即计数、均值、标准差、最小最大值、中间值和两个四分位数

第三条常用的:xx.isnull().sum()isnull 将空的元素置为True,sum计算True的个数 合起来就是算空元素的个数

第四条常用的:xx.shape() 就是返回dataframe的结构(行列数)

第五条常用的:xx['某个属性的名字'].value_counts()可以计算你的dateframe的某一个属性的值的分布情况 比如当前属性有几个类别 每个类别有多少条数据,对以上进行补充 当你发现你的某条属性(通常都是最终的类属性)有你不需要的值的时候,比如你的数据集介绍属性有五个 但是这时候出现了第六类属性 你可以直接把它对应的数据删掉,方法是xx = xx.loc[xx['你要处理的属性名'] != 刚才多余的那个值] 可以直接把你的数据给清洗了 不用drop操作了 很方便

第六条常用的:开始总结matplotlib是一个大的画图包 一般用的是它旗下pyplot子包 简称plt 然后用到seaborn这个包 它是基于上个包的补充工具 更简单更漂亮,首先我们通常会画出一系列的图 所以首先用plt.subplots或者subplot进行子图的布局 区别是subplot(a,b,c)的三个参数代表行、列、第几幅图 第三个参数的顺序是从左到右 从上到下 比如你一共布局四张图 221就是左上222右上223左下224右下,然后贼麻烦 就等于以前用c语言的switch一样 你要重复写好多个句子, 推荐用 f,[a1,a2,...an] = subplots(a,b,figsize=(x,y)) f指的是所有子图的大标题 在所有子图上方显示 需要这条语句f.suptitle('title') 然后向量a1到an就表示你的子图作图区域 你想在a几画什么图都行 a,b和上文一样表示子图行列布局 figsize单幅图大小  接下来 方便的地方来了

xx['某个属性的名字'].value_counts().plot.pie(autopct = '%1.2f%%',ax = a1)

最方便的饼图画法 autopct是饼图每个组分中自动显示名称和占比几位小数就是%1.几f 两个%%意思是显示% ax是你的子图作图区域 就是在上面subplots申请的向量

条状图或者直方图:你可以用plot.bar和plot.hist搞定 和上面饼图的做法差不多 但是直方图的时候颜色还需要你自己设置 麻烦了点 所以我们用seaborn的直方图作为补充 seaborn的简称是sns

sns.countplot('属性名',data = xx,ax = a2),详细参数请看seaborn的文档 很简单

第七条常用的:python的聚合函数 groupby 详情参见博客:https://blog.csdn.net/qcyfred/article/details/78785792这货写的挺好 用股市做例子 很直观

那么一句话就是xx.groupby(['属性1','属性2'])['属性2'].count 按照1的分类对属性2的值进行划分计数

sns.countplot(x = '划分属性1gender',hue = '类属性2happiness',data = xx)

第八条常用的:

标签:常用,直方图,seaborn,子图,pytorch,day3,xx,ubuntu,属性
来源: https://www.cnblogs.com/NWNU-LHY/p/11163480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有