用Python处理数据大家都不陌生了,属常规操作,但常规之下还是也有些暗藏技巧的,本篇东哥分享6个好玩高效的操作,帮助大家提高效率。
andas Profiling
Pandas Profiling
提供数据的一个整体报告,是一个帮助我们理解数据的过程。它可以简单快速地对Pandas
的数据框数据进行探索性数据分析。
其实,Pandas
中df.describe()
和df.info()
函数也可以实现数据探索过程第一步。但它们只提供了对数据非常基本的概述。而Pandas
中的Profiling
功能简单通过一行代码就能显示大量信息,同时还能生成交互式HTML
报告。
对于给定的数据集,Pandas中的profiling
包计算了以下统计信息:
由Pandas Profiling
包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息包括类型、单一变量值、缺失值等。
安装
用pip
和conda
即可,使用方法很简单,如下:
pip install pandas-profiling
conda install -c anaconda pandas-profiling
用法
以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(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
对于数据探索的可视化分析超级好用,低代码量便可生成漂亮的可视化图形。
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
<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数据分析感兴趣,所以给你准备了下面的资料~
这份完整版的Python全套学习资料已经上传,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码【保证100%免费
】
python学习资源免费分享,保证100%免费!!!
需要的话可以点击这里👉Python学习路线(2023修正版)附涉及资料 (安全链接,放心点击)
Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
Python学习视频
下面图片的学习内容我网盘上面有全套的学习视频,如果转行的朋友找不到合适的python教程,可以向我索取,我保证是免费分享,不收任何费用,纯粹是想帮助像我一样曾经想转行的人少走一些弯路。
学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】Python学习路线(2023修正版)附涉及资料《Python学习资料》,已经打包好了,自取【ps:需要领取的资料(请备注清楚,查找与发送给你)】。因链接常https://mp.weixin.qq.com/s/UVxw0daFCgAMFhz9cfrjAQ