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

加速数据分析,这10个tips好用到哭

时间:2023-03-15 16:05:20 科技观察

专注!!!本文列出了使用Python和JupyterNotebook的一些技巧,讨论了如何轻松分析数据以及如何进行格式化、编码、输出和调试等操作。在编程的世界里,有时候一个小技巧可以节省很多时间,甚至可以挽救生命。这些“必杀技”往往能在以后的数据分析中起到重大作用。一、分析Pandas数据框Profiling(分析)是一个帮助理解数据的过程,PandasProfiling(数据预览分析)作为一个python工具包,是用来帮助理解数据的。该工具可以对pandas数据框进行简单快速的探索性数据分析。pandasdf.describe()和df.info()函数通常是EDA过程的第一步。但是,此步骤仅提供基本数据预览,对大型数据集帮助不大。此外,PandasProfiling函数使用df.profile_report()扩展了PandasDataFrame以进行快速数据分析。此功能仅需一行代码即可显示大量信息,也可用于交互式HTML报告。对于给定的数据集,数据预览分析包处理以下数据:由PandasProfiling工具包计算的统计信息安装pipinstallpandas-profiling#importingthenecessarypackagesimportpandasaspdimportpandas_profiling#Depreciated:pre2.0.0versiondf=pd.read_csv('titanic/train.csv')pandas_profiling.ProfileReport(df)近日,Pandas-Profiling发布了一个重要的2.0.0升级版本。事实上,这个版本对语法做了一个小改动,这个功能也被包含在PandasDataFrames中,报告也变得更加全面。下面是最新的语法用法:使用在Jupyternotebook中显示报告,运行:#Pandas-Profiling2.0.0df.profile_report()这行代码是用户在Jupyternotebook中显示数据分析报告所需的全部.显示的报告非常详细,必要时还包括图表。用户还可以使用以下代码将此报告导出为交互式HTML文件:profile=df.profile_report(title='PandasProfilingReport')profile.to_file(outputfile="Titanicdataprofiling.html")更多详细信息和示例:https://pandas-profiling.github.io/pandas-profiling/docs/2。增强Pandas图的交互性Pandas有一个内置的.plot()函数,它是DataFrame类的一部分。但是,此功能的不足之处在于所呈现的可视化效果不是交互式的。相反,使用pandas.DataFrame.plot()函数可以轻松绘制图形。是否可以在不对代码进行重大更改的情况下绘制类似Pandas图表的交互式图表?答案是肯定的,Cufflinks库可以帮助解决这个问题。Cufflinks库结合了plotly的强大功能和Pandas的灵活性,使绘图变得容易。现在让我们看看如何安装这个库并让它在pandas上运行。安装pipinstallplotly#Plotlyisapre-requisitebeforeinstallingcufflinksspipinstallcufflinks使用#importingPandasimportpandasasspd#importingplotlyandcufflinksinofflinemodeimportcufflinksascfimportplotly.offlinecf.go_offline()cf.set_config_file(offline=False,world_readable=True)现在看看df.iplot()在大数据集上可视化的魔力.plot()显示静态图表,而左侧是具有更多细节的交互式图表。这些图表都没有对语法进行重大更改。更多示例:https://github.com/santosjorge/cufflinks/blob/master/Cufflinks%20Tutorial%20-%20Pandas%20Like.ipynb3.ALittleMagicMagic命令是JupyterNotebooks中的一组便利函数,旨在解决标准数据分析中的一些常见问题。在%lsmagic的帮助下,用户可以看到所有可用的魔法函数。所有可用魔法函数列表魔法命令有两种类型:行魔法,以单个%字符为前缀,对单行输入进行操作;cellmagic,以%%为前缀,对多行输入进行操作。如果设置为1,则无需键入初始%即可调用魔术函数。我们来看看两个神奇命令在常见数据分析任务中的应用:%pastebin%pastebin将代码上传到Pastebin,并返回url地址。Pastebin是一种在线内容托管服务,用户可以在其中存储源代码片段等纯文本,然后与他人共享URL。事实上,Github的gist也类似于pastebin,只是有版权限制。考虑一个包含以下内容的python脚本file.py:#file.pydeffoo(x):returnx在Jupyter笔记本中使用%pastebin生成一个pastebinurl。%matplotlibnotebook%matplotlib内联函数用于在Jupyter笔记本中呈现静态matplotlib图形。尝试将inline替换为notebook,以便轻松缩放、调整大小的绘图。确保在导入matplotlib库之前启用该功能。%matplotlibinline和%matplotlibnotebook%run%run函数在笔记本中运行python脚本。%runfile.py%%writefile%%writefile将单元格的内容写入文件。使用此功能,代码将写入名为foo.py的文件并保存在当前目录中。%%latex%%latex函数将单元格内容呈现为LaTeX格式。这对于在单元格中编写数学公式和方程很有用。4.查找和消除错误交互式调试器也是一个神奇的功能,但本文将其单独分类。如果在运行代码单元时发生异常,用户可以在新行中键入%debug并继续运行。此操作将打开一个交互式调试环境以查找异常发生的位置。用户还可以查看程序中分配的变量值并在那里执行操作。单击q退出调试。5.漂亮的排版如果你想构建漂亮的数据结构,pprint是一个简单的模块,在打印字典或JSON数据时特别有用。让我们看一个使用print和pprint来显示输出的例子。6.笔记高亮你可以在Jupyternotebooks中使用alert/Noteboxes来标记一些重要的或者需要高亮的内容。注释的颜色取决于突出显示内容的重要性。用户只需将以下任何或所有代码添加到需要突出显示的单元格中。蓝色注释框:信息提示:使用蓝色框(alert-info)来显示提示和注释。如果是注释,则不必包含“注释”一词。

黄色注释框:警告示例:黄色框通常用于包含其他示例或数学公式。绿色笔记框:完成Usegreenboxonlywhennecessaryliketodisplaylinkstorerelatedcontent.
红色笔记框:危险避开红色框很好,但可以用来提醒用户不要删除代码的某些重要部分等。
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。但是,如果在运行同一个脚本的时候多加一个-i,比如python-ihello.py,就会有更多的优势。具体操作如下:首先,一旦程序结束,python不会退出解释器。此时,用户可以查看程序中定义的变量值和函数。其次,因为用户仍在解释器中,可以通过以下方式轻松调用python调试器:importpdbpdb.pm()这有助于用户找到发生异常的位置,然后可以处理代码。漏洞原始来源9.自动注释代码Ctrl/Cmd+/可以自动注释掉单元格中选中的行。再次单击组合键可取消注释同一行代码。10.撤销删除操作你有没有不小心删除过笔记本中的某个单元格?如果是这样,那么这里有一个撤消删除操作的快捷键。如果您删除了单元格的内容,您可以通过按CTRL/CMD+Z轻松恢复它如果您需要恢复整个已删除的单元格,您可以按ESC+Z或编辑>撤消删除单元格