Jupyter Notebook中的魔法命令

news2024/11/20 12:40:06

关于魔术命令

Jupyter Notebook 使用的 Python 内核通常是 IPython 内核。IPython 是 Python 的增强交互式解释器,它提供了许多额外的功能,使得在 Jupyter Notebook 中编写和执行 Python 代码更加方便和强大。所以jupyter使用的是IPython的语法

IPython的特殊命令被称为"魔术"命令, 这些命令用来简化常见任务。魔术命令的前缀符号是%

我们先在这里介绍我们接下来将会使用到的几个常用的魔术命令

%run命令

可以在jupyter中使用%run命令来运行任意的python程序文件, 将指定的python脚本加载进来并运行
用法

%run [py程序路径]
%timeit和%time命令
%timeit命令

作用:多次运行单个语句(单行代码)计算平均执行时间, 在估算代码最短时间时有用

%timeit L = [i ** 2 for i in range(1000)]
输出:
195 µs ± 6.06 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

%%timeit可以用来测量单元格代码(多行代码块)执行时间, 并计算平均执行时间, 以评估代码执行性能

%%timeit

# 测试效率
L = []
for n in range(1000):
    L.append(n)
输出:
37.2 µs ± 795 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

%time命令(单个语句)和%%time命令(代码块)
单个语句执行一次的时间, 没有办法作为判断代码性能的参考, 因为测试和我们当前操作系统所处的状态,包括是不是正好有一些任务调度等等都有关系, 所以单次运行的时间是不固定的是在某个范围内上下波动的, 所以不应该只看一次运行的时间, 应该多次测量。

有的时候我们只是想感知一下运行时间,并不要这个时间的具体的结果,所以我们进行一次测量%time就足够了。还有一些情况我们很有可能跑一个机器学习的算法,一跑跑好几个小时,那么在这种情况下呢,我们最终想知道我们这个算法一共跑了多少小时我们也只需要测量一次就够了。

在这里,可能有一个陷阱,由于 %timeit 命令,它会多次运行后面的代码行,但是如果后面的代码在多次运行时效率不同,那么测量的结果将会有非常大的偏差。大家看下图中的语句所执行的时间, 可以发现它们相差甚远

在这里插入图片描述

那么为什么会产生这么大的时间差距呢?下面我们再试一下, 我们重新用%time的方式进行一次测量
在这里插入图片描述

这是因为对于python语言来说, 对sort这个排序函数是相应的有一定的优化的, 对于一个已经排好序的数组, Sort可以非常快的直接完成这个排序, %timeit测的是多次运行的平均时间, 而在运行一次之后列表已经排好序了, 所以后面继续执行的时候列表的顺序已经被排好了, 所以大大的节省了多次运行所花的时间, 进而所测出的平均时间相对于%time小很多

下面是在jupyter中的示例code:

%run–将我们创建的python模块加载到当前文件中并运行

%run Pycharm—project/example.py 

%timeit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1035315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

彩色图像处理在数字图像处理中的应用(数字图像处理概念 P5)

文章目录 彩色模型伪彩色处理全彩色数字图像处理基础彩色变换平滑和锐化 彩色模型 伪彩色处理 全彩色数字图像处理基础 彩色变换 平滑和锐化

有名管道及其应用

创建FIFO文件 1.通过命令&#xff1a; mkfifo 文件名 2.通过函数: mkfifo #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode); 参数&#xff1a; -pathname&#xff1a;管道名称的路径 -mode&#xff1a;文件的权限&a…

MySQL学习笔记5

1、MySQL中的SQL语句&#xff1a; SQL 是 Structure Query Language(结构化查询语言)的缩写,它是使用关系模型的数据库应 用语言,由 IBM 在 20 世纪 70 年代开发出来,作为 IBM 关系数据库原型 System R 的原型关 系语言,实现了关系数据库中的信息检索。 20 世纪 80 年代初,美…

【ardunio】青少年机器人四级实操代码(2023年9月)

目录 一、题目 二、示意图 三、流程图 四、硬件连接 1、舵机 2、超声波 3、LED灯 五、程序 一、题目 实操考题(共1题&#xff0c;共100分) 1. 主题&#xff1a; 迎宾机器人 器件&#xff1a;Atmega328P主控板1块&#xff0c;舵机1个&#xff0c;超声波传感器1个&…

OLTP和OLAP有什么区别和不同?

OLTP概念 操作型处理&#xff0c;叫联机事务处理OLTP(On-LineTransactionProcessing)&#xff0c;主要目标是做数据处理&#xff0c;它是针对具体业务在数据库联机的日常操作&#xff0c;通常对少数记录进行查询、修改。 用户较为关心操作的响应时间、数据的安全性、完整性和…

分享78个Python源代码总有一个是你想要的

分享78个Python源代码总有一个是你想要的 源码下载链接&#xff1a;https://pan.baidu.com/s/1ZhXDsVuYsZpOUQIUjHU2ww?pwd8888 提取码&#xff1a;8888 下面是文件的名字。 12个python项目源码 Apache Superset数据探查与可视化平台v2.0.1 API Star工具箱v0.7.2 Archery…

图形化思维:Graphviz和DOT语言的艺术与实践

前言 Graphviz和DOT语言是一对强大的工具&#xff0c;用于创建各种类型的图形&#xff0c;从流程图和组织结构图到网络拓扑图&#xff0c;无所不能。它们的灵活性和自定义性使得它们在数据可视化、系统设计、项目规划等各个领域都备受欢迎。然而&#xff0c;要想真正掌握Graph…

vulhub打靶第三周

第三周 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/chronos-1,735/ 环境折磨导致做晚了&#xff0c;再加上期末的考试多耽搁下来了&#xff0c;然后就是辗转反侧打比赛&#xff0c;拖了这么久&#xff0c;时隔三个月重新开打 因为陆陆续续打了两次&#xff0c;所…

《Web安全基础》09. WAF 绕过

web 1&#xff1a;基本概念1.1&#xff1a;DoS & DDos1.2&#xff1a;CC 攻击1.3&#xff1a;扫描绕过方式 2&#xff1a;WAF 绕过2.1&#xff1a;信息收集阶段2.2&#xff1a;漏洞发现阶段2.3&#xff1a;权限控制阶段2.3.1&#xff1a;密码混淆2.3.2&#xff1a;变量覆盖…

数量关系(高照)

数量关系&#xff08;内容&#xff09; 先问题&#xff0c;再材料 正向&#xff1a;约分、倍数反向&#xff1a;选项、代入 倍数特性 整除型

CSS 基础 4

(●◡●)target ⇛ 圆角边框 ⇛ 盒子阴影 ⇛ 文字阴影 圆角边框 在CSS3中新增了圆角边框的样式, 这样我们的盒子就可以变成圆角了. 圆角在我们生活中很常见, 例如: ① 我们浏览器的标签 显示就会是一个圆角边框 ② 浏览器的搜索栏 如何设置圆角边框?? 设置属性 border-…

VMware安装CentOS Stream 8以及JDK和Docker

一、下载镜像源 地址&#xff1a;https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.285b32d48O2G8Y 二、安装配置 配置项 一共有以下这些&#xff0c;其中软件、软件选择 、安装目的地、网络主机名需要讲一下&#xff0c;其他都简单&#xff0c;自行设置即可。 …

关于DNS

DNS DNS 域名解析系统DNS服务器如何能够承担高并发量? DNS 域名解析系统 上网,想要访问服务器,就需要知道服务器的IP地址,IP地址,是一串数字,虽然这个数字使用点分十进制已经清晰不少了,但是仍然不方便人们记忆和传播,因此,我们就使用单词来代替IP地址,使用baidu,sogou,bilib…

Docker初识

什么是Docker 微服务虽然具备各种各样的优势&#xff0c;但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中&#xff0c;依赖的组件非常多&#xff0c;不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署&#xff0c;环境不一定一致&#xff0c;会遇到…

FPGA——WS2812B彩灯点亮

文章目录 前言一、WS2812B手册分析原理1.1 主要特点1.2 器件图1.3 接口1.4 输入码型1.5 归零码&#xff08;RZ&#xff09;和非归零码(NRZ)&#xff08;拓展&#xff09;1.6 级联输出1.7 输入数据格式 二、FPGA点亮彩灯2.1 代码 三、总结 前言 本篇博客是记录WS2812手册的学习…

基于Docker_Nginx+LVS+Flask+MySQL的高可用Web集群

一.项目介绍 1.拓扑图 2.详细介绍 项目名称&#xff1a;基于Docker_NginxLVSFlaskMySQL的高可用Web集群 项目环境&#xff1a;centos7.9&#xff0c;docker24.0.5&#xff0c;mysql5.7.30&#xff0c;nginx1.25.2,mysqlrouter8.0.21&#xff0c;keepalived 1.3.5&#xff0c;…

Maven官方镜像仓库与阿里云云效Maven

一、Maven官方镜像仓库 download maven-3 右击复制链接地址&#xff0c;使用wget命令直接在linux中下载&#xff1a; wget 链接地址history 二、阿里云云效Maven 详情查看maven 配置指南 打开 maven 的配置文件&#xff08; windows 机器一般在 maven 安装目录的 conf/…

Rt-Thread 移植1--开发环境搭建(KF32)

1.1软件 1.1.1 ChipONKongFu 下载地址 链接: ChipONKongFu 1.1.2 软件包 链接:软件包 1.2 硬件 1.2.1 开发板 1.2.2 烧录器 1.3 软件安装 1.3.1 安装KongFu32 1.4 例程编译 1.4.1找到例程 1.4.2导入例程 如上&#xff0c;编译后发现还是会缺很多东西 添加system_init.c…

9.19~9.20elf论文(浮点数的二进制表示确定擦除尾随0的数量)

小数转二进制 小数部分呈6&#xff0c;2&#xff0c;4&#xff0c;8循环&#xff0c;则二进制序列为1001循环 小数点前的0应该没有任何用&#xff0c;就是表示这是个小数&#xff0c;第一位转化后如果是1&#xff0c;应该是在小数点后的第一位位置 原始小数&#xff08;通过机…

如何看待著名游戏引擎 Unity 宣布将更改收费模式,收取「运行时费用」?这将造成哪些影响?

先下结论&#xff1a;Unity 的高管是不是【不友善内容&#xff0c;请于 24 小时内及时更改】&#xff1f; 简单介绍下这个收费模式&#xff1a;年收入大于 20w 美金且安装量大于 20w 的&#xff0c;每一份额外下载需要给 Unity 交 0.2 刀。 首先&#xff1a;听上去好像不会影响…