学习
实践
活动
工具
TVP
写文章

掌握这5种方法,让你使用python进行数据分析可以事半功倍

本篇针对Python语言的数据分析库(pandas),分享了5个可以提升数据处理效率的解决方案,总结来说就是,不用不知道,一用真高效!符合真香定律···

01 针对不同情况下的nan值定位

涉及到数据的清洗,那么nan值必然是一个需要处理的问题,不论是直接舍弃还是填充值,总是需要先定位nan值在哪里,再根据数据特点去做相应的操作。这里我分享下我个人对定位nan值问题一些好的实践

详看以下代码,主要包含三种情况的定位

第一个方法:df.isnull().any()

通过结果可以看得出来,这个语句返回的是所有列是否含有nan值的布尔值

对于一个大数据文件来讲,你想一瞬间知道哪些字段有nan值需要处理,那么这个命令就可以让你瞬间看到结果,再针对结果做处理即可

第二个方法:df["female"].isnull()

结果如下,返回的是每个值是否为nan值的布尔值

第一个方法已经确定了哪些列有nan值,那么接下来你可能想知道的是这些字段中哪些值是nan值,那么这个方法就可以帮你定位

第三个方法:df[df.isnull().values==True]

结果如下:返回的是数据表中含有nan值的所有行

还有个写法很推荐,df[df.列名.isnull().values==True]因为有些列的nan值没有什么实际作用,也不用处理,那么有些列则必须不能有nan值,那么就可以通过这个命令专门针对某一列进行nan值的定位

这个命令是我用的最多的,因为在大数据文件中,如果nan值非常少,那么这种方法的定位非常有有效率且直接

 02 把每个人的爱好汇总

有的时候你会面临一种情况:你需要把某一列的值根据一定的分组要求分类聚合到一起,然后统一进行一系列的运算,需求如下所示

需求结果要如下所示

想要实现这个效果,代码如下

03 一波反向操作

有时候在筛选数据集的时候条件很复杂,但是这些复杂的对立条件却只有一个,这种情况下就可以通过对立条件筛选反集,筛选所需要的数据,一般来讲,涉及到"isin"的时候有可能用的到

需求描述为:要呈现除了沈阳之外的数据

 04将每个人的技能拆分成序列展示

有时候我们会面对这种需求:一个字段中保存的是带有固定分隔符的字符串(比如", "),需要将这一行的这个字段拆分,拆分为一个数据集,这个数据集每一行都显示这个原有字段的一个值

这么说有点绕口,看图

需求为:需要把技能相同的人汇总一起,那么首先第一步肯定是要将每个人技能拆开,再去做聚合操作,那么拆开的结果应该是如下图所示的

实现代码

05 只关注各省份TOP2的记录

需求描述:我想将数据根据一定的要求分类并排序,然后取每个分组后排序的前两条记录

举例来说就是,如下

需求为:展示每个省篮球场个数最多的前两个市,展示如下

之前我计算这个,要用for循环迭代去取值,后面了解到了这个方法,效率提升了几倍,怎么写,如下所示

我是一名奋战在编程界的pythoner,工作中既要和数据打交道,也要和erp系统,web网站保持友好的沟通……,时不时的会分享一些提高效率的编程小技巧,实际应用中遇到的问题和解决方案,或者源码的阅读等等,欢迎大家一起来讨论!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200817A0HIZF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券