傻大方


首页 > 人文 >

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令



按关键词阅读:

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片

笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令

文章图片


Jupyter Notebook包含一写特殊的命令 , 我们称之为魔术命令 。

正如它的名字 , 魔术命令是一个特殊的命令 。 魔术命令通过将%符号与要运行的命令一起使用来工作 。
魔术命令有很多种 , 但在本文中我只展示最常用的9个魔术命令 。 让我们开始吧 。
%who它将显示您在jupiter Notebook环境中拥有的所有可用变量 。 让我在下面展示一个例子 。
import seaborn as sns
df = sns.load_dataset('mpg')
a = 'simple'
b = 2
我们创建了3个不同的变量;df a , 和b 。 如果您在您的Jupyter Notebook单元格中键入%who , 它将显示所有现有的变量 。

我们可以看到我们拥有所有的变量 , 包括环境中预先存在的变量 。
如果您想要查看特定的变量 , 比如只查看str变量 , 该怎么办?它是很容易的 。 您需要在魔术命令之后输入对象类型 。 在本例中 , 它是%who str 。

%timeit这个命令很有趣 。 它通过多次运行来评估代码的执行速度 , 并产生执行时间的平均+标准偏差 。 让我们举个例子 。
import numpy as np
%timeit np.random.normal(size=1000)

使用%timeit 魔术命令 , 我们知道每个执行时间的执行时间只会偏差341ns左右 。
当您想要确定代码执行和循环过程的稳定性时 , 这个命令非常有用 。
%store如果你在一个笔记本上做一个项目 , 而你想在另一个笔记本上传递你的变量 , 那该怎么办呢?您不需要pickle它或将它保存在某个目标文件中 。 您需要的是使用%store 魔术命令 。

这是我们以前的Jupyter Notebook与' df '变量包含mpg数据帧 。 接下来 , 我想把这个“df”变量移动到另一个笔记本上 。 我只需要键入%store df 。

“df”变量现在存储在Jupyter Notebook和准备在不同的Jupyter Notebook中共享使用 。 让我们尝试创建一个新的笔记本 , 并输入%store -r df 。

我们的“df”变量已经转移到另一个笔记本上 , 准备用于另一个分析 。 关于%store 魔术命令的另一个好处在于 , 您可以删除记事本中的变量 , 而您仍然可以在%store 魔术命令中存储变量 。
%prun另一个与时间有关的魔术命令 。 %prun用于计算函数或程序执行每个函数需要多长时间 。
%prun的惊人之处在于 , 它显示了一个列表 , 列表中其中可以看到语句中每个内部函数被调用的次数、每次调用的时间以及函数所有运行的累积时间 。
让我们通过一个示例来运行%prun 魔术命令 。

如上图所示 , 我们可以看到每个函数在语句中的执行时间 , 以及它们的执行时间加上累积时间 。
%history or %hist当你花了很多时间做分析后 , 你想知道你做过什么以及你目前的状况 , 或者有时候你不得不在单元格之间来回跳转以运行函数时 , 你会不会经常忘记历史的操作?
在这种情况下 , 我们可以使用%history 魔术命令查看您的活动日志 , 并跟踪您已经做了什么 。
尝试在jupiter notebook单元格中运行%history , 看看输出是什么 。

%pinfo当处理一个新的对象或包时 , 您希望获得所有的详细信息 。 如果你是像我一样懒 , 那么我们可以使用魔法命令%pinfo 得到所有的详细信息 。
让我们尝试使用之前的DataFrame对象运行这个魔术命令 。

使用这个神奇的命令 , 我们可以看到关于对象的所有信息和我们可以使用的所有参数 。
%%writefile对于开发和生产环境来说 , jupiter Notebook并不是最好的IDE , 但这并不意味着我们不能在jupiter单元中做到这一点 。
如果您已经编写了可以复用的函数 , 并希望将其保存在python文件中 , 该怎么办呢?当然 , 您可以打开另一个IDE并复制粘贴该文件 , 但是有一种更简单的方法可以做到这一点 。 我们可以使用神奇的命令%%writefile来达到同样的结果 。分页标题#e#
让我们尝试运行以下代码 。
%%writefile test.py
def number_awesome(x):
   return 9

检查当前目录;现在应该有一个新的Python文件 。
%pycat如果您想采用另一种方式 , 比如将Python文件读取到您的jupiter notebook中 , 该怎么办?您也可以使用%pycat 魔术命令来实现这一点 。
让我们尝试阅读我们之前的Python文件 。

一个新的弹出窗口将显示Python文件中的所有代码 。
当您希望在jupiter Notebook中使用许多生产和开发代码时 , 这个神奇的命令非常有用 。
%quickref最后一个魔法命令是%quickref 。 为什么这是应该知道的魔法命令?因为这个魔法命令详细解释了Jupyter Notebook中存在的所有魔法命令 。
我们试着在你的笔记本上运行一下 。

就像这样 , 现在您将看到您可以使用的每个魔法命令的所有解释 。 那是多么有用啊!
总结魔术命令是一种特殊的命令 , 在Jupyter Notebook它可以帮助我们以提高我们的日常开发效率 , 作为一个数据科学家 。 我认为这9个魔法命令是必须知道的 。
作者:Cornellius Yudha Wijaya
【笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令】deephub翻译组


    来源:(deephub)

    【】网址:/a/2021/0211/kd702571.html

    标题:笔记本|你应该知道的9个可以提高Jupyter Notebook开发效率的魔术命令


    上一篇:|五常中唯一不造航母的国家,却没人敢招惹,美国也不敢硬碰硬

    下一篇:短视频|快手抖音的火热,给无数普通人修了一条通向罗马的路


    人文

    职能部门|淮安市一药店随意售卖处方药致女孩差点没命

    阅读(36)

    今年4月初,淮阴区检察院四部检察官周红梅在办理一起性侵未成年人犯罪案件中发现,被害人小蓝(化名)因为被老师猥亵,患上重度抑郁症。2019年10月份的一天晚上,小蓝谎称奶奶睡眠不好,到街上的一家药店购买复方地西泮片(处方药,适应症:焦虑性神经症、神经衰...

    人文

    工作|环江一扶贫干部倒在帮扶一线 年仅48岁

    阅读(24)

    10时许,玉薇在入户时突感身体不适并昏倒,后被紧急送至河池市中医医院救治。经医院CT检查,被诊断为突发性脑溢血,随即进行紧急抢救治疗。当天17时10分,玉薇经抢救无效不幸离世,年仅48岁。玉薇,男,1972年12月生,毛南族,中共党员,1992年3月参加工作,...

    人文

    来袭|双节叠加史上最长黄金周来袭 梳理7条投资主线

    阅读(36)

    复盘2018-2019年酒企中秋前战略举措及效果,浙商证券认为,酒类批价是需求、库存、量价政策、营销力等情况的综合体现,因此批价、动销情况为中秋国庆旺季核心观测指标。目前的配置时点,考虑到白酒行业下半年中秋国庆表现或将超预期,应关注近期回调带来的配...

    人文

    河流|重庆6条次河流出现超保证水位洪水 启动防汛Ⅲ级应急响应

    阅读(10)

    与此同时,綦江区清溪河中峰站、通惠河鱼栏咀站、永丰河永城站、永丰河永城站,万盛经开区清溪河东林站,南川区鱼泉河水江站,武隆区石梁河长坝站,酉阳县甘龙河小河站等5区县8条次中小河流出现超警戒水位洪水。酉阳龙潭河、江津笋溪河等27条次中小河流出现1...