当前位置: 首页 > 科技观察

10个可以快速用Python进行数据分析的小技巧

时间:2023-03-13 04:46:36 科技观察

快速使用Python进行数据分析的10个技巧有时,一些小技巧可以节省时间,甚至可能“挽救生命”。一个小的捷径或附加组件有时是天赐之物,可以真正提高生产力。因此,这里有一些提示和技巧,其中一些可能是新的,但我相信在您的下一个数据分析项目中会派上用场。PandasProfiling(Analyzer)中数据框数据的Profiling过程是帮助我们理解数据的过程,而PandasProfiling是一个Python包,可以简单快速地对Pandas数据框数据进行探索性数据分析。Pandas中的df.describe()和df.info()函数可以实现EDA流程的第一步。但是,它们仅提供了非常基本的数据概览,对大型数据集帮助不大。Pandas中的Profiling功能可以用一行代码显示大量信息,在交互式HTML报告中也是如此。对于给定的数据集,Pandas中的分析包计算以下统计数据:PandasProfiling包计算的统计数据包括直方图、众数、相关系数、分位数、描述性统计、其他信息-类型、单变量值、缺失值等。1.使用pip或conda安装。pipinstallpandas-profilingcondainstall-canacondapandas-profiling2。用法以下代码演示了使用很久以前的泰坦尼克号数据集的多功能Python探查器的结果。#importingthenecessarypackagesimportpandasaspdimportpandas_profilingdf=pd.read_csv('titanic/train.csv')pandas_profiling.ProfileReport(df)一行代码可以在JupyterNotebook中展示一份完整的数据分析报告,非常详细,包含必要的图表信息。还可以使用以下代码将报告导出到交互式HTML文件中。profile=pandas_profiling.ProfileReport(df)profile.to_file(outputfile="Titanicdataprofiling.html")Pandas交互式绘图Pandas有一个内置的.plot()函数作为DataFrame类的一部分。但是,使用此功能呈现的可视化效果不是交互式的,这使得它不太吸引人。同样,使用pandas.DataFrame.plot()函数绘制图表不是交互式的。如果我们需要使用Pandas来绘制交互式图表,而不需要对代码进行大的改动呢?这时候我们就可以使用Cufflinks库来实现了。Cufflinks库可以将强大的plotly与灵活的pandas结合起来,非常方便绘图。让我们看看如何在pandas中安装和使用Cufflinks库。1.安装pipinstallplotly#Plotlyisapre-requisitebeforeinstallingcufflinksspipinstallcufflinks2。使用#importingPandasimportpandasaspd#importingplotlyandcufflinksinofflinemodeimportcufflinksascfimportplotly.offlinecf.go_offline()cf.set_config_file(offline=False,world_readable=True)df.iplot()vsdf.plot()右侧的可视化显示静态图,而右侧的图left是交互式的,更详细,并且语法上没有任何重大变化。MagicCommandsMagic命令是JupyterNotebook中的一组便利函数,旨在解决标准数据分析中的一些常见问题。使用命令%lsmagic查看所有可用命令。所有可用的魔法命令列表魔法命令有两种类型:行魔法命令(linemagics),以单个%字符为前缀,在单行上运行;单元魔法命令(cellmagics),以双%%字符为前缀,可以在多行输入操作中输入。如果设置为1,则无需键入%即可调用Magic函数。接下来,我们看一下在常见的数据分析任务中可能会用到的一些命令:1.%pastebin%pastebin将代码上传到Pastebin,并返回url。Pastebin是一种在线内容托管服务,可以存储纯文本,例如源代码片段,然后可以通过URL与其他人共享。其实Githubgist也和pastebin类似,但是有版本控制。在file.py文件中写一个python脚本,内容如下,尝试运行看看结果。#file.pydeffoo(x):returnx在JupyterNotebook中使用%pastebin生成一个pastebinurl。2.%matplotlibnotebook函数用于在Jupyternotebooks中渲染静态matplotlib图。将内联替换为笔记本,以便轻松扩展和调整大小。但请记住,应在导入matplotlib库之前调用此函数。3.%run使用%run函数在笔记本中运行python脚本。%runfile.py%%writefile%%writefile是将单元格内容写入文件。以下代码将脚本写入名为foo.py的文件并将其保存在当前目录中。4.%%latex%%latex函数以LaTeX形式呈现单元格内容。此函数对于在单元格中编写数学公式和方程很有用。查找和解决错误交互式调试器也是一个神奇的功能,我将它定义为一个单独的类。如果在运行代码单元时遇到异常,请在新行中键入%debug并运行它。这将打开一个交互式调试环境,可以直接定位到异常的位置。也可以检查程序中分配的变量值并在那里执行操作。退出调试器并单击q。打印也有小技巧。如果你想生成漂亮的数据结构,pprint是首选。它在打印字典数据或JSON数据时特别有用。让我们看一个使用print和pprint显示输出的例子。让你的笔记脱颖而出我们可以在你的Jupyternotebook中使用警告框/评论框来突出显示重要内容或其他需要突出显示的内容。注释的颜色取决于指定的警报类型。只需将以下任何或所有代码添加到需要突出显示的单元格中。1.蓝色警告框:信息提示Tip:使用蓝色框(alert-info)表示提示和注意事项。如果是便条,则不必包含“注意”一词。div>2.黄色警告框:警告示例:黄色框通常用于包含额外示例或数学公式。

3.绿色警告框:成功Usegreenboxonlywhennecessaryliketodisplaylinkstorelatedcontent.
4.红色警告框:高风险避免redbox很好,但不能用于alertuserstonotdeletesomeimportantpartofcodeetc.
打印单元格中所有代码的输出如果有单元格,Jupyter笔记本它包含以下代码行:In[1]:10+511+6Out[1]:17单元格的正常属性是只打印最后一个输出,对于其他输出我们需要添加print()功能。但是,通过在笔记本顶部添加以下代码片段,可以一次打印所有输出。添加代码后,所有的输出结果都会陆续打印出来。In[1]:10+511+612+7Out[1]:15Out[1]:17Out[1]:19恢复原始设置:InteractiveShell.ast_node_interactivity="last_expr"从命令行运行带有“i”选项的python脚本一个典型的python脚本方法是:pythonhello.py。但是,如果在运行相同的脚本时加上-i,比如python-ihello.py,它可以提供更多的优势。让我们看看结果如何。首先,即使程序结束,python也不会退出解释器。这样,我们就可以检查程序中定义的变量的值和函数的正确性。其次,我们可以很容易地调用python调试器,因为我们仍在解释器中:importpdbpdb.pm()这定位了异常发生的位置,然后我们可以处理异常代码。自动注释代码Ctrl/Cmd+/自动注释单元格中选定的行,再次点击组合将取消注释同一行代码。删除容易,撤消难你有没有不小心删除过Jupyternotebook中的单元格?如果答案是肯定的,那么你就可以掌握这个撤消删除的快捷方式了。如果您删除了单元格的内容,您可以通过按CTRL/CMD+Z轻松恢复它。如果您需要恢复整个已删除的单元格,请按ESC+Z或编辑>取消删除单元格。结论在本文中,我列出了我在使用Python和Jupyter笔记本时收集到的一些技巧。我相信它们会对您有用,并为您提供一些可以轻松编写代码的东西!相关报道:https://towardsdatascience.com/10-simple-hacks-to-speed-up-your-data-analysis-in-python-ec18c6396e6b【本文为专栏组织大数据文摘原创文章,微信公众号《大数据文摘(id:BigDataDigest)》】点此查看作者更多好文