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

【新人赛】快来一起挖掘幸福感!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)

第八条常用的:

trainData['happiness'][trainData['age'] == 1].value_counts().plot.pie(autopct = '%1.2f%%',ax = ax[0])

可以在plot画图时添加多个子属性的条件限定 来制作多张不同条件下的图

第九条常用的:

热图heatmap,也就是所谓的相关系数矩阵,也就是协方差矩阵,感谢seaborn的corr方法,一步计算相关系数矩阵

ax = plt.subplots(1, 1, figsize = (20,20))
ax = sns.heatmap(xx[['f1','f2',...'fn']].corr(),annot = True,linewidths = 0.2)annot指的是每个格子中间是否显示数值

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

  1. Python之路,Day12 - 那就做个堡垒机吧

    Python之路,Day12 - 那就做个堡垒机吧   本节内容 项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多 ...

  2. 最近打算体验一下discuz,有不错的结构化数据插件

    提交sitemap是每位站长必做的事情,但是提交到哪里,能不能提交又是另外一回事.国内的话百度是大伙都会盯的蛋糕,BD站长工具也会去注册的,可有些账号sitemap模块一直不能用,或许是等级不够,就像 ...

  3. 目标检测之Faster-RCNN的pytorch代码详解(数据预处理篇)

    首先贴上代码原作者的github:https://github.com/chenyuntc/simple-faster-rcnn-pytorch(非代码作者,博文只解释代码) 今天看完了simple- ...

  4. Pytorch技法:继承Subset类完成自定义数据拆分

    我们在<torch.utils.data.DataLoader与迭代器转换>中介绍了如何使用Pytorch内置的数据集进行论文实现,如torchvision.datasets.下面是加载内 ...

  5. 如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调)大概效果如下:

    如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调 ...

  6. pytorch数据预处理错误

    出错: Traceback (most recent call last): File , in <module> train_model(model_conv, criterion, o ...

  7. Python做数据预处理

    在拿到一份数据准备做挖掘建模之前,首先需要进行初步的数据探索性分析(你愿意花十分钟系统了解数据分析方法吗?),对数据探索性分析之后要先进行一系列的数据预处理步骤.因为拿到的原始数据存在不完整.不一致. ...

  8. 抓取摩拜单车API数据,并做可视化分析

    抓取摩拜单车API数据,并做可视化分析 纵聊天下 百家号|04-19 15:16 关注 警告:此篇文章仅作为学习研究参考用途,请不要用于非法目的. 摩拜是最早进入成都的共享单车,每天我从地铁站下来的时 ...

  9. ubuntu之路——day18 用pytorch完成CNN

    本次作业:Andrew Ng的CNN的搭建卷积神经网络模型以及应用(1&2)作业目录参考这位博主的整理:https://blog.csdn.net/u013733326/article/det ...

随机推荐

  1. go语言实现分布式锁

    本文:https://chai2010.cn/advanced-go-programming-book/ch6-cloud/ch6-02-lock.html 分布式锁 在单机程序并发或并行修改全局变量 ...

  2. XnViewer管理浏览照片、图片

    有时候拍完照片想要浏览照片.浏览照片的时候想做一些标记,这个时候就需要使用照片管理器: 之前一直使用谷歌的picasa(不更新了),adobe也有个管理器(比较大):这里主要推荐一个: https:/ ...

  3. linux上如何删除文件名乱码的文件

    这里写图片描述今天在服务上发现了两个文件名是乱码的文件,如图所示.这里写图片描述于是想用rm命令把它们删掉,但提示没有此文件. 网上搜了一下,找到解决方法,首先执行ls -i命令,此时在文件前面会出现 ...

  4. PTA-多项式A除以B

    多项式A除以B 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A, ...

  5. linux 查看 端口3306

    1,查看3306端口被什么程序占用 lsof -i :3306 2,查看3306端口是被哪个服务使用着 netstat -tunlp | grep :3306 3,查看3306端口的是否已在使用中,可 ...

  6. 使用SikuliX定位Object(flash)元素

    先说一下背景,这个是我们测试的系统上的一个上传文件的地方,但是用传统的selenium方法很难定位的到.具体的样子是下面这样的. 使用id等属性定位做点击操作好像不能直接操作.无奈之下,只好从网上找找 ...

  7. 题解 洛谷P2503 【[HAOI2006]均分数据】

    看了眼题目和数据范围\(n \leq 20,k \leq 6\)自然想到了\(dfs\)分组求解,主要是被这道题坑自闭过. 然而硬来\(dfs\)肯定会被蜜汁\(T\)掉,因为暴力\(n\)个数所在集 ...

  8. 在idea中调试spark程序-配置windows上的 spark local模式

    spark程序大致有如下运行模式: standalone模式:spark自带的模式 spark on yarn:利用hadoop yarn来做集群的资源管理 local模式:主要在测试的时候使用, 这 ...

  9. SIGAI机器学习第十九集 随机森林

    讲授集成学习的概念,Bootstrap抽样,Bagging算法,随机森林的原理,训练算法,包外误差,计算变量的重要性,实际应用 大纲: 集成学习简介 Boostrap抽样 Bagging算法 随机森林 ...

  10. 【DP入门到入土】

    DP例题较多,可以根据自己需求食用~ update:下翻有状压DP入门讲解,也只有讲解了(逃~ DP的实质,就是状态的枚举. 一般用DP解决的问题,都是求计数或最优问题,所以这类问题,我们也可以用搜索 ...