加快Python数据分析的10个功能

来源

技巧和窍门,特别是在编程中,可能会很有帮助。 小型的shot弹枪,插件或hack可以节省大量时间,并大大提高生产率。 我收集了我最喜欢的文章,并从中撰写了这篇文章。 下面的一些技巧已为许多人所熟知,并且最近出现了一些。 无论如何,我确信当您再次着手进行数据分析项目时,它们肯定不会多余。


1.分析熊猫数据框


分析可以帮助我们更好地理解我们的数据, Pandas分析包正是为此而创建的。 该库将提供一种简便,快捷的方法来 Pandas Dataframe进行探索性分析 。 通常,在这种情况下,将df.describe()df.info()函数用作第一步,但它们报告的很少,并且对大型数据集的处理效果不佳。 相比之下,使用Pandas Profiling的一行代码将在交互式HTML报告中输出很多信息。


这是给定数据集的计算结果:


Pandas Profiling输出的统计信息。

安装方式


pip install pandas-profiling  conda install -c anaconda pandas-profiling 

使用方法


让我们使用《泰坦尼克号》乘客数据集展示分析器。


 #    import pandas as pd import pandas_profiling 

 df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df) 

这就是显示分析结果所需的全部。 该报告充满了详细信息,包括适当的图表。



该报告可以导出到交互式HTML文件


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


单击此处观看直播。


带示例的文件夹 -大约翻译)




2.使熊猫图形互动


Pandas中DataFrame类具有内置的.plot()函数。 但是,在其帮助下创建的可视化不是交互式的,我想改进它。 另一方面,我也不想放弃使用该功能的简单性。 如果我们可以使Pandas图形互动,而无需实际更改代码怎么办? Cufflinks库完全可以做到这一点


袖扣Plots的优势与Pandas交互式绘图灵活性相结合。 让我们看看如何安装该库并使它与Pandas一起使用


安装方式


 pip install plotly # Plotly     Cufflinks pip install cufflinks 

使用方法


 #  Pandas import pandas as pd # plotly  cufflinks    import cufflinks as cf 

 import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True) 

是时候在泰坦尼克号乘客的数据上查看仪器的所有功能了。


 df.iplot() 

df.plot()df.iplot()比较

底部的可视化图显示了一个静态图,而上方的图则是交互式的且更加详细,所有这些都没有任何重大的语法更改。


在这里您可以看到更多示例。




3.一点魔力


魔术命令是Jupyter笔记本电脑中的一组便捷功能,旨在解决标准数据分析的常见任务。 您可以使用%lsmagic查看所有可用功能。


所有可用的“魔术”功能列表

魔术命令有两种类型: 魔术,以单个开头并在同一行上工作。 和细胞魔法 ,它们与double %%相关联并且可以在多行上使用。


让我们看看在常规数据分析任务中有用的那些:


  • %糊盒

%pastebin将代码加载到Pastebin中并返回url。 Pastebin是一个站点,我们可以在其中保存纯文本(例如,源代码的一部分),然后将链接传递给其他人。 实际上,GitHub Gist与Pastebin类似,尽管具有版本控制。


考虑以下脚本:


 # file.py def foo(x): return x 

在Jupyter Notebook中使用%pastebin将在Pastebin上创建url。



  • %matplotlib笔记本

%matplotlib内联命令用于在Jupyter Notebook中可视化matplotlib静态图。 用Notebook替换inline以获取可扩展和可变的图表。 只需确保在导入matplotlib之前已添加命令。


%matplotlib内联%matplotlib笔记本相比
  • 运行百分比

%run命令在Jupyter Notebook中运行脚本。


 %run file.py 

  • %%写文件

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



  • %%乳胶

%%乳胶功能将单元格的内容显示为LaTeX。 这对于在单元格中编写数学公式和方程式很有用。





4.故障排除


交互式调试器也是一支神奇的团队,但我给了自己一个类别。 如果使用代码启动单元格时发生异常,请在新行上输入%debug命令并执行它。 将打开一个交互式调试环境,其中显示了发生异常的位置。 您可以检查变量的值并执行各种操作。 要退出调试器,请按q





5.结论可以很美


如果您希望数据结构漂亮地显示,那么pprint是您的选择。 这在打印字典或JSON数据时特别有用。 让我们看一下同时使用print和pprint进行输出的代码。





6.突出说明


我们可以在Jupyter笔记本中使用警报来突出显示重要的内容。 颜色将取决于警报的类型。 只需将以下任何或所有以下代码添加到要突出显示的单元格即可。


  • 蓝色警报:信息

 <div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div> 


  • 黄色警报:警告

 <div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div> 


  • 绿色警报:成功

 <div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div> 


  • 红色警报:危险

 <div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div> 




7.在单元格中打印每个输出


考虑一个包含以下代码的Jupyter Notebook单元:


 In [1]: 10+5 11+6 

 Out [1]: 17 

这是仅输出最后一个输出的单元格的正常属性,对于其他单元格,我们需要添加print()函数。 好吧,事实证明,我们可以通过从上方添加以下片段来打印所有结论:


 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" 

现在,所有结论都陆续印出。


 In [1]: 10+5 11+6 12+7 

 Out [1]: 15 Out [1]: 17 Out [1]: 19 

要返回初始设置:


 InteractiveShell.ast_node_interactivity = "last_expr" 



8.使用-i选项运行Python脚本。


从命令行运行Python脚本的典型方法是: python hello.py 。 但是,如果您添加参数-i,即 致电python -i hello.py,您将获得更多。 让我们看看到底是什么。


  • 首先,一旦到达程序末尾,Python将不再退出解释器。 因此,我们可以检查变量的值以及程序中定义的函数的正确性。


  • 其次,由于我们仍在解释器中,因此我们可以轻松地调用python调试器:

 import pdb pdb.pm() 

这将导致我们到达发生异常的地方,并且我们可以继续处理代码。


功能的原始 来源




9.自动(ras)代码注释


Ctrl / Cmd + /在单元格中的选定行上自动注释。 再按一次组合键将取消注释相同的行。


(顺便说一下,这对于其他编辑器(例如Pycharm或Sublime Text-大约翻译)是正确的。)





10.取消随机动作


您是否曾经不小心删除了Jupyter Notebook单元? 如果是这样,那么以下是将取消此操作的shot口。


  • 如果您删除了单元格中的内容,则可以通过按CTRL / CMD + Z轻松还原它
  • 如果您需要恢复已删除的单元格本身-ESC + ZEDIT>撤消删除单元格




结论


在本文中,我列出了在使用Python和Jupyter Notebooks时对我有帮助的基本技巧。 希望他们也能为您提供帮助。 编码愉快!

Source: https://habr.com/ru/post/zh-CN457302/


All Articles