加速Python数据分析的10个简单技巧(上)

编译 | sunlei

发布 | ATYUN订阅号

总有一些小贴士和技巧在编程领域是非常有用的。有时,一个小技巧可以节省时间甚至可以挽救生命。一个小的快捷方式或附加组件有时会被证明是天赐之物,并能真正提高生产力。因此,我总结了一些我最喜欢的一些贴士和技巧,我将它们以本文的形式一起使用和编译。有些可能是大家相当熟悉的,有些可能是比较新的,但我确信它们将在下一次您处理数据分析项目时派上用场。

1. 分析pandas dataframe

分析是一个帮助我们理解数据的过程,而pandas分析是一个python包,它正好做到了这一点。这是一种对Pandas Dataframe进行探索性数据分析的简便、快速的方法。panda df.describe()和df.info()函数通常用作EDA过程的第一步。但是,它只提供了一个非常基本的数据概览,对于大型数据集没有多大帮助。另一方面,panda分析函数用一行代码显示了很多信息,这也可以在交互式HTML报告中显示。

对于给定的数据集,pandas分析包计算以下统计数据:

统计计算机-熊猫剖析包

安装

1pip install pandas-profiling
2or
3conda install -c anaconda pandas-profiling

用法

让我们使用古老的Titanic数据集来演示通用的Python分析器的功能。

1#importing the necessary packages
2import pandas as pd
3import pandas_profiling
4df = pd.read_csv('titanic/train.csv')
5pandas_profiling.ProfileReport(df)

这一行代码就是在Jupyter笔记本中显示数据分析报告所需的全部代码。报告非常详细,包括必要图表。

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

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

2.将互动带到pandas plots

pandas有一个内置的.plot()函数作为DataFrame类的一部分。然而,使用该函数呈现的可视化效果并不具有交互性,这使得它的吸引力降低。相反,也不能排除使用pandas. datafram .plot()函数绘制图表的方便性。如果我们不需要对代码进行重大修改,就可以像用pandas绘制图表那样巧妙地绘制交互式图表,那会怎么样呢?实际上,你可以在Cufflinks库的帮助下做到这一点。

Cufflinks库将plotly的力量与熊猫的灵活性结合起来,便于绘制。现在让我们来看看如何安装这个库并让它在pandas中工作。

安装

1pip install plotly # Plotly is a pre-requisite before installing cufflinks
2pip install cufflinks

用法

1#importing Pandas 
2import pandas as pd
3#importing plotly and cufflinks in offline mode
4import cufflinks as cf
5import plotly.offline
6cf.go_offline()
7cf.set_config_file(offline=False, world_readable=True)

是时候看看泰坦尼克数据集的神奇之处了。

1df.iplot()

+6df.iplot() vs df.plot()

下边的可视化显示的是静态图表,而上边的图表是交互式的,并且更加详细,所有这些都没有对语法进行任何重大更改。

3.一点点魔法

Magic命令是jupyter笔记本中的一组方便的函数,旨在解决标准数据分析中的一些常见问题。在%lsmagic的帮助下,您可以看到所有可用的magic。

所有可用magic函数的列表

Magic命令有两种类型:line magics和cell magics,前者以单个%字符作为前缀,并在一行输入上进行操作;后者与double %%前缀关联,并在多行输入上进行操作。如果将Magic函数设置为1,则无需键入初始%即可调用。

让我们来看看在常见的数据分析任务中可能有用的一些方法:

  • % pastebin

%pastebin将代码上载到pastebin并返回url。Pastebin是一个在线内容托管服务,我们可以在其中存储纯文本,如源代码片段,然后url可以与他人共享。事实上,Github gist也类似于pastebin,尽管有版本控制。

考虑一个包含以下内容的python script file.py:

1#file.py
2def foo(x):
3    return x

使用Jupyter笔记本中的%Pastebin生成Pastebin URL。

  • %matplotlib notebook

%matplotlib inline函数用于呈现jupyter笔记本中的静态matplotlib绘图。尝试用笔记本替换内嵌部件,以轻松实现可缩放和可调整大小的绘图。确保在导入Matplotlib库之前调用了函数。

%matplotlib inline vs %matplotlib notebook

  • %run

%run函数在一个笔记本中运行一个python脚本。

1%run file.py
  • %%writefile

%%writefile将单元格的内容写入文件。在这里,代码将被写入一个名为foo.py的文件,并保存在当前目录中。

  • %%latex

%%latex 函数将单元格内容呈现为乳胶。它可用于在单元中编写数学公式和方程。

4.发现和消除错误

交互式调试器也是一个神奇的函数,但是我已经给了它提供一个自己的类别。如果在运行代码单元格时出现异常,请在新行中键入%debug并运行它。这将打开一个交互式调试环境,将您带到异常发生的位置。您还可以检查程序中分配的变量的值,并在这里执行操作。要退出调试器,请按q。

5.印刷也可以很漂亮

如果您想为数据结构生成美观的表示形式,pprint是首选模块。它在打印字典或JSON数据时特别有用。让我们看一个同时使用print和pprint显示输出的示例。

这又是一篇很长的文章,这次先透露5个技巧,其余的5个我明天继续更新。

End

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2019-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券