作者:东哥起飞

出品: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。

cufflinks在plotly的基础上做了一进一步的包装,方法统一,参数配置简单。其次它还可以结合pandas的dataframe随意灵活地画图。可以把它形容为"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等。

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

六、Jupyter notebook的笔记高亮

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

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

蓝色代表info

Tip: Use blue boxes (alert-info) for tips and notes.

If it’s a note, you don’t have to include the word “Note”.

黄色代表warning

Example: Yellow Boxes are generally used to include additional examples or mathematical formulas.

绿色代表success

Use green box only when necessary like to display links to related content.

红色代表danger

It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.

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

推荐:

python数据分析六个环节_安利6个珍藏的Python数据分析神器相关推荐

  1. python创建类统计属性_轻松创建统计数据的Python包

    python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...

  2. python就业需要的技能_教你如何快速掌握Python就业技能

    -人生苦短,为什么要学Python? 简单易学 应用广泛 大厂青睐 (油管大神评选的2020最值得学就业语言-Python) 因为以上的种种理由,无论是国外还是国内, Python都荣登2020最值得 ...

  3. python人生的不同阶段_从入门到入土的Python自学教程,用改变你的人生轨迹

    Python在近几年越来越受追捧,很多童鞋或者职场小伙伴想要提升技能-学习Python. 这是非常好的事情,但问题在于很多人不知道学Python做什么,所以什么零碎细末.艰难晦涩.长篇大论的都去看,很 ...

  4. python编程第四版_清华编程教授强力推荐《Python编程》,指导你如何学习python

    Python编程真的那么容易吗?仅仅是看理论就可以学以致用吗? 今天我给你介绍的这本书,也许会让你开始改变这种想法,因为这本书上的练习和案例以及指导本身就足够学好Python了. 清华编程教授强力推荐 ...

  5. python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

    事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...

  6. python软件如何安装方法_【新手必看】Python软件下载及安装教程

    原标题:[新手必看]Python软件下载及安装教程 Python下载:免费开源 官网地址:https://www.python.org/downloads/ 下载对应版本Python:python-3 ...

  7. python运用在哪些地方_必看 | 2020年,Python十大应用领域介绍!

    原标题:必看 | 2020年,Python十大应用领域介绍! python作为一门当下极其火爆的编程语言,得到世界范围内无数编程爱好者和开发者喜欢并不是偶然的,除了要比其他编程语言更容易入门,pyth ...

  8. python属于计算机几级_我的天呐!Python 入选计算机等级考试了!

    这两天被 Python 各种疯狂刷屏,这是为什么尼?一是它出现在了山东省最新出版的小学信息技术六年级教材中,加入了 Python 的内容,小学生都开始学 Python ,后生可畏啊.这不,2018 年 ...

  9. python制作ai小说网_【案例分享】使用Python创建AI比你想象的轻松

    您可能对AI领域,主要开发阶段,成就,结果和产品使用感兴趣.有数百个免费源和教程描述使用Python的AI.但是,没有必要浪费你的时间看他们.这里是一个详细的指南,你需要知道在使用Python构建人工 ...

最新文章

  1. mysql www.school.com_MySQL 基础学习
  2. opencv 直线检测
  3. 海康摄像头取、录像机RTSP视频流的字串格式
  4. python使用opencv_Python使用OpenCV进行标定
  5. 查看修改Linux时区和时间
  6. Use Amazon VM to try Openstack (1) (with DevStack)
  7. 微软3月补丁星期二修复71个漏洞,其中3个是0day
  8. ubuntu20.x安装 podman
  9. 分解质因数(包括证明的详解)
  10. 金蝶精斗云PDA移动扫码入库出库,搭配蓝牙打印机打印单据小票
  11. 微信小程序 自定义picker封装成插件实现二级三级四级联动
  12. C语言实现约分最简分式
  13. x3650服务器引导盘制作,IBM X System ServerGuide 8.41 服务器 系统安装 引导盘图文教程...
  14. CTOlib码库介绍(GitHub热门项目收录网站)
  15. mysql在注册表编辑器的哪里_如何清除mysql注册表
  16. 树莓派4B开机自启动Python程序,发送WIFI-IP至指定邮箱
  17. 四步骤关闭Windows10自动更新
  18. 光缆线路网的组网结构是怎样的
  19. 灰狼优化算法GWO优化SVM支持向量机惩罚参数c和核函数参数g,有例子
  20. 如何在固码的市场上做大做强

热门文章

  1. 【牛津大学博士论文】关系数据的学习和推理
  2. selenium Element is not clickable because another element obscures it — 点击被页面上其他元素遮住的控件,亲试有效!!!
  3. 关于将EXCEL文件导入到MYSQL数据库的一些方法
  4. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
  5. 互联网中越老越吃香的行业是?
  6. html网页生成动态地图
  7. Python小学生课程学哪些内容?
  8. 502 Bad Gateway 怎么解决?
  9. 新手做电商直播带货怎么和快递合作谈价格
  10. 利用python对Excel进行读写操作