使用Python加速数据分析的10个简单技巧
提示和技巧,尤其是在编程领域,可能是非常有用的。有时,一个小技巧可以节省时间和生命。一个小的快捷方式或附加组件有时会被证明是天赐之物,并能真正提高生产力。因此,下面是我最喜欢的一些提示和技巧,我将它们以本文的形式一起使用和编译。有些可能是我们相当熟悉的,有些可能是新的,但我确信它们将在你下一次处理数据分析项目时派上用场。 1.分析pandas数据帧 Profiling(分析)是一个帮助我们理解数据的过程,而Pandas Profiling就是执行这一过程的python包。这是一种对Pandas Dataframe(数据帧)进行探索性数据分析的简便、快速的方法。Pandas的df.describe()和df.info()函数通常用作EDA过程的第一步。但是,它只提供了一个非常基本的数据概览,对于大型数据集的情况并没有多大帮助。另一方面,Pandas Profiling(分析)函数使用df.profile_report()对pandas数据帧进行了扩展,以便快速进行数据分析。它用一行代码显示了很多信息,在交互式HTML报告中也是如此。 对于一个给定的数据集,pandas profiling(分析)包会计算以下统计数据: Pandas Profiling 包计算出的统计数据. 安装 用法 我们来使用古老的titanic数据集来演示多功能python分析器的功能。 编者注:本文发布一周后,Pandas-Profiling发布了一个重大的升级版本——2.0.0。语法发生了一些变化,事实上,它的功能已经包含在pandas本身中了,并且报告也变得更加全面。下面是最新的用法语法: Usage 要在 Jupyter notebook中显示报告,请运行以下代码: 你只需要这一行代码就可以在一个Jupyter notebook中显示数据分析报告。报告非常详细,包括了必要的图表。 你也可以使用以下代码将这个报告输出到一个交互式HTML文件中。 查阅文档获取更多细节和例子。 2.为pandas 图表带来交互性 Pandas有一个内置的.plot()函数,它是DataFrame类的一部分。然而,使用该函数呈现的可视化效果并不具有交互性,这使得它的吸引力降低。相反,也不能排除使用pandas. datafram .plot()函数绘制图表的方便性。如果我们不需要对代码进行重大修改,就可以使用pandas绘制出像plotly那样的交互式图表,那会怎么样呢?实际上,你可以使用Cufflinks库做到这一点。 Cufflinks库结合了plotly的强大功能和pandas的灵活性,便于轻松绘图。现在我们来看看如何安装这个库并让它在pandas中运行。 安装 用法 是时候看看使用Titanic数据集展开的神奇之处了。 df.iplot() 对比 df.plot() 右边的可视化显示的是静态图表,而左边的图表是交互式的,并且更加详细,所有这些都没有对语法进行任何重大更改。 3. 一点魔法 魔法命令是Jupyter Notebook中的一组方便的函数,旨在解决标准数据分析中的一些常见问题。你可以通过%lsmagic命令来查看所有可用的魔法命令。 所有可用魔法函数的列表 魔法命令有两种类型: line magics(行魔法)和cell magics(单元魔法),前者以单个%字符作为前缀,并在一行输入上进行操作;后者与两个%%前缀关联,并在多行输入上进行操作。如果将魔法函数的选项设置为1时,不需要键入初始%就可调用它。 我们来看看在常见的数据分析任务中可能有用的一些魔法函数: % pastebin %pastebin将代码上传到Pastebin并返回其url。Pastebin是一个在线内容托管服务,我们可以在其中存储纯文本,如源代码片段,然后可以将url与他人共享。事实上,Github gist也类似于Pastebin,尽管它有版本控制。 我们假设有一个包含以下内容的python脚本file.py: 在Jupyter Notebook中使用%pastebin生成一个pastebin的url地址. %matplotlib notebook %matplotlib inline函数用于在Jupyter notebook中呈现静态matplotlib绘图。尝试用notebook替换inline部分,你就可以轻松获得可缩放和可调整大小的绘图。确保在导入matplotlib库之前调用该函数。 %matplotlib inline 对比 %matplotlib notebook %run %run函数会在一个notebook中运行一个python脚本。 %%writefile (编辑:ASP站长网) |