当前位置: 首页 > 后端技术 > Python

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

时间:2023-03-26 14:12:36 Python

作者:ParulPandey来源:SQL数据库开发一些小技巧在编程领域非常有用,但在数据科学领域也是如此。数据科学爱好者ParulPandey最近发表了一篇博文,分享了在数据科学中非常实用的10个技巧。有时,一点点黑客攻击可以节省时间并挽救生命。一个小捷径或附加组件有时可以证明是天赐之物,可以真正提高生产率。因此,这里有一些我最喜欢的技巧,我在本文中一起使用和整理了这些技巧。其中,有些可能是众所周知的,有些可能是新的,但我相信它们在您下次从事数据分析项目时会非常有用。1.ProfilingthepandasdataframeProfiling是一个帮助我们理解数据的程序,而PandasProfiling是一个python包,可以做到这一点。这是对pandas数据帧进行探索性数据分析的一种简单快速的方法。pandasdf.describe()和df.info()函数通常用作EDA过程的第一步。但是,它仅提供了非常基本的数据概览,对大型数据集帮助不大。另一方面,pandas分析功能使用df.profile_report()扩展pandas数据帧以进行快速数据分析。它在一行代码和交互式HTML报告中显示大量信息。对于给定的数据集,pandasprofiling包计算以下统计数据:剖析器。导入必要的包importpandasaspdimportpandas_profilingDepreciated:pre2.0.0versiondf=pd.read_csv('titanic/train.csv')pandas_profiling.ProfileReport(df)注意:Pandas-Profiling在这篇文章版本2.0发布一周后发布了升级。0。它的语法发生了一些变化,实际上功能已经包含在pandas中,报告也变得更加全面。这是最新的语法用法:使用在Jupyternotebook中显示报告,运行:Pandas-Profiling2.0.0df.profile_report()这行代码是在Jupyternotebook中显示数据分析报告所需要的。报告非常详细,必要时还包括图表。也可以使用以下代码将报告导出到交互式HTML文件。profile=df.profile_report(title='PandasProfilingReport')profile.to_file(outputfile="Titanicdataprofiling.html")2.为pandas绘图带来交互性pandas有一个内置的.plot()函数作为数据框部分类的。但是,使用此功能呈现的可视化效果不是交互式的,这使得它不太吸引人。相反,也不能排除使用pandas.dataframe.plot()函数绘制图形的便利性。如果我们可以在不更改主要代码的情况下绘制像熊猫图这样的交互式图形会怎样?您可以在Cufflinks库的帮助下完成此操作。Cufflinks结合了plotly的强大功能和pandas的灵活性,便于绘图。现在让我们看看如何安装这个库并让它在pandas中工作。installpipinstallplotly#Plotly是安装袖扣之前的先决条件spipinstallcufflinksusingimportingPandas)是时候用Titanic数据集展示它的魔力了。df.iplot()df.iplot()vsdf.plot()右边的视图显示静态图,左边的图是交互式的,而且更详细,所有语法都没有重大变化。3.一点魔法魔法命令是Jupyter笔记本中的一组方便的函数,旨在解决标准数据分析中的一些常见问题。在%lsmagic的帮助下,你可以看到所有可用的魔法。所有可用的魔法函数列表有两种魔法命令:行魔法(以%字符为前缀并在一行输入上运行)和单元魔法(与%%前缀相关联并在多行输入上运行)。如果设置为1,则无需输入初始百分比即可调用魔法函数。让我们看看其中一些可能对常见数据分析任务有用??的函数:%pastebin%Pastebin将代码上传到Pastebin并返回一个URL。Pastebin是一种在线内容托管服务,我们可以在其中存储纯文本(如源代码片段),然后与他人共享URL。事实上,Githubgist也类似于Pastebin,尽管有版本控制。考虑使用具有以下内容的python脚本file.py:file.pydeffoo(x):returnxGeneratepastebinusing%pastebininJupyternotebookurl%matplotlibnotebook%matplotlibinlinefunctionforrenderingstaticmatplotlibplotsinJupyternotebook。尝试用笔记本替换内联部件,以便轻松扩展和调整大小的绘图。确保在导入Matplotlib库之前调用该函数。%matplotlibinlinevs%matplotlibnotebook%run%run函数在笔记本中运行一个python脚本。%runfile.py%%writefile%WriteFile将单元格的内容写入文件。在这里,代码将被写入一个名为foo的文件并保存在当前目录中。%%latex%%latex函数将单元格内容呈现为LaTeX。它可用于在单元格中编写数学公式和方程式。4.查找和消除错误交互式调试器也是一个神奇的功能,但我给了它一个单独的类别。如果在运行代码单元时遇到异常,请在新行中键入%debug并运行它。这将打开一个交互式调试环境,将您带到异常发生的地方。您还可以检查程序中分配的变量值并在那里执行操作。要退出调试器,请单击q。5.输出也可以漂亮如果你想为数据结构生成漂亮的表示,pprint是你想要的模块,它在打印字典或JSON数据时特别有用。让我们看一个使用print和pprint显示输出的例子。6.突出显示警告框我们可以在JupyterNotebooks中使用警告/注释框来突出显示重要的内容或需要突出显示的内容。注释的颜色取决于警报的类型。在需要高亮的单元格中添加如下代码即可。蓝色警告框:信息提示提示:使用蓝色框(alert-info)表示提示和注意事项。如果是注释,则不必包含“注释”一词。

黄色警告框:警告示例:黄色框通常用于包含附加示例或数学公式。
绿色警告框:成功仅在必要时使用绿色框,例如显示相关内容的链接。
红色警告框:Dangerous避免红框很好,但可以用来提醒用户不要删除某些重要部分代码等。
7.打印单元格的所有输出考虑一个包含以下代码行的Jupyternotebook单元格:In[1]:10+511+6Out[1]:17通常,只会打印单元格中的最后一个输出,对于其他输出,我们需要添加print()函数。好吧,我们实际上可以通过简单地在笔记本顶部添加以下代码片段来打印所有输出。fromIPython.core.interactiveshellimportInteractiveShellInteractiveShell.ast_node_interactivity="all"现在所有的输出一个接一个地打印In[1]:10+511+612+7Out[1]:15Out[1]:17Out[1]:19要恢复到原始设置:InteractiveShell.ast_node_interactivity="last_expr"8.使用“i”文件运行python脚本从命令行运行python脚本的典型方法是:pythonhello.py。但是,如果在运行相同脚本(如python)时添加额外的-ihello.py,它会提供更多优势。让我们看看如何。首先,只要程序没有结束,python就不会退出解释器。这样,我们就可以检查程序中定义的变量的值和函数的正确性。其次,我们可以轻松地调用Python调试器,因为我们仍在解释器中,方法是:importpdbpdb.pm()这将使我们到达异常发生的位置,然后我们可以处理代码。可以在此处查看源代码。9、自动注释代码ctrl/cmd+/会自动注释掉单元格中选中的行,再次点击组合会取消注释同一行代码。10.删除容易恢复难你有没有不小心删除过Jupyternotebook上的某个单元?如果是这样,那么这里有一个撤消删除的快捷方式。如果您删除了单元格的内容,您可以通过按ctrl/cmd+z轻松恢复该内容。如果您需要恢复整个已删除的单元格,请按Esc+Z或编辑>撤消以撤消已删除的单元格。结论在本文中,我列出了我在使用Python和Jupyter笔记本时收集到的主要技巧。我相信他们会为你工作,你会从这篇文章中得到一些回报。好了,让我们开始愉快的编码之旅吧!