太香了!推荐6个Python数据分析神器!!

发布时间:20-11-22

  • 最新
  • 精选
  • 区块链
  • 汽车
  • 创意科技
  • 媒体达人
  • 电影音乐
  • 娱乐休闲
  • 生活旅行
  • 学习工具
  • 历史读书
  • 金融理财
  • 美食菜谱

太香了!推荐6个Python数据分析神器!!

Python那些事 Python那些事 2020-07-29



作者:东哥起飞

出品:Python数据科学


用Python处理数据大家都不陌生了,属常规操作,但常规之下还是也有些暗藏技巧的,本篇东哥分享6个好玩高效的操作,帮助大家提高效率。

一、Pandas Profiling

Pandas Profiling提供数据的一个整体报告,是一个帮助我们理解数据的过程。它可以简单快速地对Pandas的数据框数据进行探索性数据分析。

其实,Pandas中df.describe()和df.info()函数也可以实现数据探索过程第一步。但它们只提供了对数据非常基本的概述。而Pandas中的Profiling功能简单通过一行代码就能显示大量信息,同时还能生成交互式HTML报告。

对于给定的数据集,Pandas中的profiling包计算了以下统计信息:

由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息包括类型、单一变量值、缺失值等。

安装

用pip和conda即可,使用方法很简单,如下:

import pandas as pd
import pandas_profiling
df = pd.read_csv('titanic/train.csv')
pandas_profiling.ProfileReport(df)

用法

以titanic数据集来演示profiling的功能。

import pandas as pd
import pandas_profiling
df = pd.read_csv('titanic/train.csv')
pandas_profiling.ProfileReport(df) 

除了导入库之外只需要一行代码,就能显示数据报告的详细信息,包括必要的图表。

还可以使用以下代码将报告导出到交互式HTML文件中。

profile = pandas_profiling.ProfileReport(df)
profile.to_file(outputfile="Titanic data profiling.html")

二、pretty print

pprint是Python中的内置模块。它能够以格式清晰,可读性强漂亮格式打印任意数据结构。一个例子对比下print和pprint。

# 定义个字典,测试用
my_dict = {'Student_ID'34,'Student_name' : 'Tom''Student_class' : 5,
          'Student_marks' : {'maths' : 92,
                            'science' : 95,
                            'social_science' : 65,
                            'English' : 88}
          }

print

# 正常的print
print(my_dict)
# 输出结果如下:
{'Student_ID'34'Student_name''Tom''Student_class'5'Student_marks': {'maths'92'science'95'social_science'65'English'88}}

pprint

# 使用pprint输出
import pprint
pprint.pprint(my_dict)
# 输出结果如下:
{'Student_ID'34,
 'Student_class'5,
 'Student_marks': {'English'88,
                   'maths'92,
                   'science'95,
                   'social_science'65},
 'Student_name''Tom'}

可以清楚看到pprint的优势之处,数据结构一目了然啊。

三、Python Debugger

交互式调试器也是一个神奇的函数,如果在运行代码单元格时出现报错,可以在新行中键入%debug运行它。这将打开一个交互式调试环境,自动转到报错发生的位置,并且还可以检查程序中分配的变量值并执行操作。要退出调试器,按q。比如下面这个例子。

x = [1,2,3]
y = 2
z = 5

result = y+z
print(result)
result2 = x+y
print(result2)

大家应该能看出x+y肯定会报错,因为二者不是一个类型,无法进行运算操作。然后我们敲入%debug。

%debug

这时会出现对话框让我们互交式输入命令,比如我们可以像下面这样做。

四、Cufflinks

这个东哥在之前也介绍过,对于数据探索的可视化分析超级好用,低代码量便可生成漂亮的可视化图形。下面举一个例子,详细的可参见这篇Python一行代码搞定炫酷可视化,你需要了解一下Cufflinks。

cufflinksplotly的基础上做了一进一步的包装,方法统一,参数配置简单。其次它还可以结合pandasdataframe随意灵活地画图。可以把它形容为"pandas like visualization"

比如下面的lins线图

import pandas as pd
import cufflinks as cf
import numpy as np

cf.set_config_file(offline=True)
cf.datagen.lines(1,500).ta_plot(study='sma',periods=[13,21,55])

再比如box箱型图。

cf.datagen.box(20).iplot(kind='box',legend=False)

看着这动态图就爱不释手啊,有木有!

五、Pyforest

这是一个能让你偷懒的import神器,可以提前在配置文件里写好要导入的三方库,这样每次编辑脚本的时候就省去了开头的一大堆import 各种库,对于有常用和固定使用库的朋友来说无疑也是提高效率的工具之一。

pyforest支持大部分流行的数据科学库,比如pandas,numpy,matplotlib,seaborn,sklearn,tensorflow等等,以及常用的辅助库如os,sys,re,pickle等。

此用法对于自己频繁调试很方便,但对于那些频繁跨环境比如和其它人共享脚本调试的时候就不是很好用了,因为别人不一定使用它。

此库东哥在之前也详细介绍过 牛逼!这个Python库竟然可以偷懒,和import说再见!看下面这个操作就明白了。

六、Jupyter notebook的笔记高亮

此方法仅适用于Jupyter notebook中,当我们想高亮笔记,让笔记变得美观的时候,这个方法非常的香。

笔记的高亮的颜色根据不同情况分为几种,前端的同学一看就明白,区别就是每种颜色代码的class类型不一样,其它只要在div标签中写内容就好。下面看下用法。

蓝色代表info

div class="alert alert-block alert-info">
b>Tip:b>
 Use blue boxes (alert-info) for tips and notes. 
If it’s a note, you don’t have to include the word “Note”.
div>

黄色代表warning

div class="alert alert-block alert-warning">
b>Example:b> Yellow Boxes are generally used to include additional examples or mathematical formulas.
div>

绿色代表success

div class="alert alert-block alert-success">
Use green box only when necessary like to display links to related content.
div>

红色代表danger

div class="alert alert-block alert-danger">
It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. 
div>

这里有个小提示东哥提示下,如果你直接复制到jupyter notebook中可能会报错,因为默认是代码的格式,所以你需要选中单元格按Esc变成可切换模式,然后再按Y切换成文本模式。这时候再运行shift+ok就ok了。看下面这个例子。




最后给大家推荐视频号,包含可以提升大家认知的内容,因为我一直相信一句话,你赚的每一分钱都来源于你的认知。识别二维码快速关注吧!

这个视频号可能不会过多讲解技术,但是可以拓展你的认知(内容包括职场、经济、心理等等):


(完)


看完本文有收获?请转发分享给更多人
关注「Python那些事」,做全栈开发工程师
点「在看」的人都变好看了哦

    前往看一看

    看一看入口已关闭

    在“设置”-“通用”-“发现页管理”打开“看一看”入口

    我知道了

    已发送

    发送到看一看

    发送中

    微信扫一扫
    使用小程序

    取消 允许

    取消 允许

    微信版本过低

    当前微信版本不支持该功能,请升级至最新版本。

    我知道了 前往更新

    确定删除回复吗?

    取消 删除

      知道了

      长按识别前往小程序

      本站仅按申请收录文章,版权归原作者所有
      如若侵权,请联系本站删除

      微信QQ空间新浪微博腾讯微博人人Twitter豆瓣百度贴吧

      觉得不错,分享给更多人看到

      Python那些事 热门文章:

      如何写出让同事无法维护的代码?    阅读/点赞 : 0/0

      一句“在吗?”逼死人    阅读/点赞 : 0/0

      Python中有趣的F-Strings    阅读/点赞 : 0/0

      Chrome 开发者工具鲜为人知的小技巧,让你的工作效率提高数倍!    阅读/点赞 : 0/0

      GitHub获3.2W星!史上最全技术面试手册!    阅读/点赞 : 0/0

      21 幅 GIF 动图让你了解各种数学概念    阅读/点赞 : 0/0

      爬虫非专业八级模拟考试    阅读/点赞 : 0/0

      刷题两个月,终于进入了梦寐以求的大厂,数据结构与算法太TM重要了    阅读/点赞 : 0/0

      10个可以快速用Python进行数据分析的小技巧    阅读/点赞 : 0/0

      这份程序员的简历刷爆了五月的朋友圈    阅读/点赞 : 0/0

      Python那些事 微信二维码

      Python那些事 微信二维码

      Python那些事 最新文章

      太香了!推荐6个Python数据分析神器!!  2020-07-29

      Python “偏函数” 用法全方位解析  2020-07-29

      福利 | Python全栈高薪岗,大厂面试问什么?(超全面经,文末自取~)  2020-07-26

      Python 入门神图  2020-07-26

      那些功能逆天,却鲜为人知的pandas骚操作  2020-07-26

      中文版!Python入门学习的三件法宝!附免费下载  2020-07-26

      别再问我怎么Python打包成exe了!  2020-07-25

      Nginx流控  2020-07-25

      GitHub超7.9万星,最全Python入门算法!  2020-07-24

      下载 | 15张高清《Python数据科学速查表中文版》  2020-07-24

      (adsbygoogle = window.adsbygoogle || []).push({});

      (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); (function(){ var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?ba34c9f41d18b62312e960833b3cb4ae":"https://jspassport.ssl.qhimg.com/11.0.1.js?ba34c9f41d18b62312e960833b3cb4ae"; document.write(''); })();

      上一篇: 昆明石林严查旅游市场食品
      下一篇: 未来一周南方多阴雨天气 西北华北黄淮有降雪过程