工作效率低下?这7个提高效率的Python技巧你会多少

工作效率低下?这7个提高效率的Python技巧你会多少


Peter Nistrup | 作者

TowardsDataScience | 来源

https://mp.weixin.qq.com/s/AB8nX0_RTX9fvVY8xCaUfw




本文列举了一些提升或加速日常数据分析工作的技巧,包括:



1


Pandas Profiling


该工具效果明显。下图展示了调用 df.profile_report() 这一简单方法的结果:

工作效率低下?这7个提高效率的Python技巧你会多少


使用该工具只需安装和导入 Pandas Profiling 包。


2


使用 Cufflinks 和 Plotly 绘制 Pandas 数据


「经验丰富的」数据科学家或数据分析师大多对 matplotlib 和 pandas 很熟悉。也就是说,你只需调用 .plot() 方法,即可快速绘制简单的 pd.DataFrame 或 pd.Series:

工作效率低下?这7个提高效率的Python技巧你会多少


有点无聊?


这已经很好了,不过是否可以绘制一个交互式、可缩放、可扩展的全景图呢?是时候让 Cufflinks* *出马了!(Cufflinks 基于 Plotly 做了进一步的包装。)


在环境中安装 Cufflinks,只需在终端中运行! pip install cufflinks --upgrade 即可。查看下图:


工作效率低下?这7个提高效率的Python技巧你会多少


效果好多了!


注意:上图唯一改变的是 Cufflinks cf.go_offline() 的导入和设置,它将 .plot() 方法变为 .iplot()。


其他方法如 .scatter_matrix() 也可以提供非常棒的可视化结果:

工作效率低下?这7个提高效率的Python技巧你会多少


3


IPython 魔术命令


IPython 的「魔术」是 IPython 基于 Python 标准语法的一系列提升。


魔术命令包括两种方法:


下面列举了 IPython 魔术命令提供的一些有用功能:


1.%lsmagic:找出全部命令


如果你只记得一个魔术命令,那必须得是这一个。执行 %lsmagic 命令将提供所有可用魔术命令的列表:

工作效率低下?这7个提高效率的Python技巧你会多少


2.%debug:交互式 debug


大部分数据科学家都遇到过这种情况:


执行的代码块一直 break,你绝望地写了 20 个 print() 语句,想输出每个变量的内容。然后,当你最终修复问题后,你还得返回并再次删除所有 print() 语句。


不过以后再也不用这样了。遇到问题后只需执行 %debug 命令,即可执行想要运行的任意代码部分:


工作效率低下?这7个提高效率的Python技巧你会多少


上图中发生了什么?



这对于更复杂的函数非常有用。


3.%store:在 notebook 之间传递变量


这个命令也很酷。


假设:你花了一些时间清洗 notebook 中的数据,现在你想在另一个 notebook 中测试一些功能,那么你是在同一个 notebook 中实现该功能,还是保存数据并在另一个 notebook 中加载数据呢?


使用%store 命令后,这些操作都不需要!该命令将存储变量,你可以在其他任意 notebook 中检索该变量:


工作效率低下?这7个提高效率的Python技巧你会多少



4.%who:列出所有全局变量


你是否遇到过,为变量赋值后却忘记变量名的情况?或者不小心删掉了负责为变量赋值的单元格?


使用%who 命令,你可以得到所有全局变量的列表:


工作效率低下?这7个提高效率的Python技巧你会多少


5.%%time:计时魔法命令


使用该命令可以获取所有计时信息。只需对任意可执行代码应用%%time 命令,你就可以得到如下输出:


工作效率低下?这7个提高效率的Python技巧你会多少


6.%%writefile:向文件写入单元格内容


在 notebook 中写复杂函数或类,且想将其保存到专属文件中时,该魔法命令非常有用。只需为函数或类的单元格添加 %%writefile 前缀和想要保存到的文件名即可,如下:


工作效率低下?这7个提高效率的Python技巧你会多少


如上所示,我们可以将创建的函数保存到 utils.py 文件中,然后就可以随意导入了。在其他 notebook 中也可以这样,只要与 utils.py 文件属于同一个目录即可。


4


Jupyter中的格式编排


这个工具很酷!Jupyter 考虑到 markdown 中存在 HTML / CSS 格式。以下是我最经常使用的功能:

1.蓝色、时尚


This is fancy!


2.红色、轻微慌张


This is baaaaad!


3.绿色、平静


This is gooood!


下图展示了它们的运行过程:


工作效率低下?这7个提高效率的Python技巧你会多少


当你想以 Notebook 格式呈现一些发现时,这非常有用!


5


Jupyter 快捷键


想了解和学习键盘快捷键,你可以使用命令面板:Ctrl + Shift + P,获取 notebook 所有功能的列表。下面选取了几个最基础的命令:



在命令模式内:



在编辑模式内:



选择多个单元格:



注意:选中多个单元格后,你可以批量执行删除/复制/剪切/粘贴/运行操作。


6


在 Jupyter(或 IPython)中使一个单元同时有多个输出


想展示 pandas DataFrame 的 .head() 和 .tail(),但由于创建运行 .tail() 方法的额外代码单元过于麻烦而不得不中途放弃,你是否有过这样的经历?现在不用怕了,你可以使用以下代码行展示你想展示的输出:


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


下图展现了多个输出的结果:


工作效率低下?这7个提高效率的Python技巧你会多少


7


为 Jupyter Notebook 即时创建幻灯片


使用 RISE,你可以仅通过一次按键将 Jupyter Notebook 即时转变为幻灯片。而且 notebook 仍然处于活跃状态,你可以在展示幻灯片的同时执行实时编码!


要想使用该工具,你只需通过 conda 或 pip 安装 RISE 即可。


conda install -c conda-forge rise


或者


pip install RISE


现在,你可以点击新按钮,为 notebook 创建不错的幻灯片了:


工作效率低下?这7个提高效率的Python技巧你会多少


荐:
【中国风动漫】除了《哪吒》,这些良心国产动画也应该被更多人知道!【中国风动漫】《雾山五行》大火,却很少人知道它的前身《岁城璃心》一个拿着十米大刀的男主夭折!声明

来源:TowardsDataScience,人工智能产业链联盟推荐阅读,不代表人工智能产业链联盟立场,转载请注明,如涉及作品版权问题,请联系我们删除或做相关处理!
展开阅读全文

页面更新:2024-03-18

标签:前缀   幻灯片   下图   快捷键   变量   魔术   函数   低下   有用   命令   模式   代码   格式   功能   技巧   方法   数据   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top