作者:东哥起飞

出品:Python数据科学

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

一、Pandas Profiling

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

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

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

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

安装

pipconda即可,使用方法很简单,如下:

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中的内置模块。它能够以格式清晰,可读性强漂亮格式打印任意数据结构。一个例子对比下printpprint

# 定义个字典,测试用
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 = 5result = 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 npcf.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支持大部分流行的数据科学库,比如pandasnumpymatplotlibseabornsklearntensorflow等等,以及常用的辅助库如ossysrepickle等。

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

此库东哥在之前也详细介绍过 牛逼!这个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了。看下面这个例子。

欢迎老铁们多多分享和点个在看!

- end-

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群:

【Python基础】太香了!推荐6个Python数据分析神器!!相关推荐

  1. 有关python方面的论文_有关python基础知识的文章推荐5篇

    一.变量命名规则1.变量名只能是字母.数字.下划线的任意组合2.变量名不能以数字开头3.一些保留字段不能作为自定义变量名4变量名需要有明确含义,如保存名字的变量,最好定义为name之类的变量名二.字符 ...

  2. python樱花制作教程视频_大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树...

    原标题:大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树 对于初学者想更轻松的学好Python开发,爬虫技术,Python数据分析,人工智能等技术,这里也给大家准备了一套系统教 ...

  3. 有python基础学习java简单吗_【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

  4. python基础入门(Peak带你学python)

    带你学python Peak带你学python 基础语法知识 print函数 转义字符 进制转换 保留字和标识符 变量 数据类型 数据类型转换 注释 input函数 运算符 运算符优先级 布尔值 if ...

  5. python基础教程第三版电子版-《python基础教程第三版》PDF高清完整版-免费下载...

    <python基础教程第3版>高清PDF下载地址:http://t.cn/EGxO1sW Python基础教程 第3版Python简明教程书籍 Python编程从入门到实践 灵程序设计丛书 ...

  6. python基础语法加爬虫精进_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

  7. python程序员培训_推荐给未来Python程序员的自学路线,不再背负小白名称

    Python彻底火了之后,各种培训机构各和学校也不断加大对Python的培训力度,很多程序员学习Python都会选择去学校或公司培训.培训机构学习,但是不是每个喜欢Python编程的程序员都是可以交得 ...

  8. python基础教程:教你如何自学python入门到精通

    python自学网www.pythonzxw.com/thread-371-1-1.html 其实python非常适合初学者入门.相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易.自带的各 ...

  9. python基础教程:通过Turtle库在Python中绘制一个鼠年福鼠

    这篇文章主要介绍了通过Turtle库在Python中绘制一个鼠年福鼠,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 turtle库是一个很经典的绘图库,其最初来自 ...

  10. python基础看什么书-2020年入门Python,这7本书一定要看!

    毋庸置疑,Python是2019年最流行的编程语言之一,它可以用于各种与开发相关的任务,并且拥有一个庞大的社区和用户. 作为一个刚想要入门开发领域的程序员来说,Python是一个不错的选择,因为它确实 ...

最新文章

  1. Pytorch的神经网络编程学习第一节
  2. Python 中 zip() 函数的用法
  3. 热键枚举Winform程序全局热键与局部热键(键盘快捷键的捕获)
  4. my06_sysbench install for mysql 并初始化表数据
  5. Sql Server 优化 SQL 查询:如何写出高性能SQL语句
  6. pytorch中切换虚拟环境
  7. excel文件导入hive乱码_将excel中的数据导入hive
  8. mysql的to datetime_mysql-笔记-datetime
  9. Python接口自动化之数据驱动
  10. WordPress URL rewrite
  11. android oppo 模拟器,小姚Android构建VIVO华为魅族OPPO小米联想手游Android模拟器
  12. 如何推广网站 网站推广增加访问量的29种方法
  13. 计算机系统(一)期末复(yu)习(3):LC-3汇编,输入与输出
  14. ym——Android从零开始(27)(山寨版微信-上)(新)
  15. 第十二届蓝桥杯 ——国际象棋
  16. 465端口发邮件php,在centos上打开端口465 for smtp的问题
  17. Docker学习总结(46)——生产环境中遇到的Docker常见异常错误总结
  18. Cytoscape Web 实现网络拓扑结构图
  19. 【Codeforces 549F】Yura and Developers | 单调栈、启发式合并、二分
  20. Attempted to read or write protected memory. This is often an indication that other memory is corrup

热门文章

  1. [转]emacs中文输入问题
  2. 如何选择MBA教育 读MBA前必答10个问题
  3. [转载]HTTP PUSH技术原理,结合ASP.NET实现以及评述
  4. 函数和构造函数的区别
  5. volume 生命周期管理 - 每天5分钟玩转 Docker 容器技术(44)
  6. C++ 标准模板库(STL)
  7. JavaScript单元测试ABC
  8. 汇编语言的准备知识--给初次接触汇编者 (1-4) 转载
  9. css设置title字体_CSS中简写属性要注意TRouBLe的顺序,避免踩坑
  10. 一文掌握二代测序NGS