首页 > 其他分享 >jupyter Notebook:魔法命令

jupyter Notebook:魔法命令

时间:2023-07-17 17:01:30浏览次数:35  
标签:10 jupyter 魔法 matplotlib 命令 Notebook Jupyter 运行

Jupyter Notebook是一个开源的交互式编程环境,用于创建和共享包含实时代码、文本、图像和可视化输出的文档。

它交互式的编程方式是一大亮点,因为我们在数据分析的过程中,常常是一边分析,一边看分析结果,根据分析结果再调整数据或者分析参数。
有了 Jupyter Notebook,代码和运行结果可以一起展示,省了很多来回切换的麻烦操作。

此外,它是基于Web的应用程序,所以展示运行结果的方式很丰富,不仅仅是文字,图表等也一样可以展示。
Jupyter Notebook不仅仅支持python语言,还支持其他几种常用于数据分析的语言,比如 JuliaR 等等。

介绍如何使用Jupyter Notebook编程和写文档的文章很多,本篇主要介绍几个使用Jupyter Notebook时常用的几个魔法命令。

这些魔法命令主要提供一些额外的功能和控制Notebook环境的行为。

1. 文件和路径

查看当前路径:

%pwd
#运行结果(环境不一样,下面的路径会不一样):
'd:\\projects\\python\\notebooks'

魔法命令的结果还可以存储到python变量中。

cur_path = %pwd
print(cur_path)
#运行结果:
'd:\\projects\\python\\notebooks'

列出当前文件夹下的文件:

%ls

这个命令在不同的系统中会自动调用不同的命令,
比如在Linux系统中,调用ls命令,在Windows系统中,会调用 dir 命令。

2. 自动保存

随时保存自己的代码和文档是好习惯,如果怕忘了保存,也可以设置Jupyter Notebook的自动保存时间。
比如:

%autosave 10
#运行结果
Autosaving every 10 seconds

每隔10秒会自动保存一次。

3. 查看历史

查看执行过的历史命令,这里不仅仅是历史执行的魔法命令,也包括执行过的python代码。

%history

通过复制历史命令,我们再次执行之前的命令或代码时,不用再输入一遍。
如果历史命令太多,也可以指定只显示最近的N条命令:

%history -l 3
#只显示最近3条命令

4. 性能检测

数据分析时,经常接触到数量庞大的数据。
编写分析代码处理庞大的数据时遇到性能问题是常事,Jupyter Notebook有两个魔法命令可以帮助我们定位性能问题。

第一个是 %time,能够显示函数运行时间的相关信息:

def sum(n):
    s = 0
    for i in range(n):
        s += i

    return s

%time sum(100000)
%time sum(200000)
#运行结果
CPU times: total: 93.8 ms
Wall time: 87.9 ms

CPU times: total: 172 ms
Wall time: 168 ms

其中,

  1. CPU time是程序在处理器上实际运行的时间
  2. Wall time是程序从开始执行到结束所花费的时间(包括了等待资源、I/O 操作等与CPU 时间无关的时间)

上面的示例中,第二次的运算量是第一个的两倍,耗费的时间也差不多是两倍。

除了 %time,还有一个 %timeit 命令,
它会统计多次运行后的结果,得到的结果更加可靠一些。

def sum(n):
    s = 0
    for i in range(n):
        s += i

    return s

%timeit sum(1000000)
#运行结果
63.9 ms ± 2.97 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

运行结果的含义如下:

  1. 63.9 ms 是运行时间的平均值
  2. 2.97 ms是标准差,也就是运行时间的上下浮动范围
  3. 7 runs表示一共运行了7
  4. 10 loops each表示每轮循环运行了10

%timeit 运行多少轮,以及每轮运行多少次是可以设置的。

def sum(n):
    s = 0
    for i in range(n):
        s += i

    return s

%timeit -n 20 -r 10 sum(1000000)
#运行结果
66.7 ms ± 4.75 ms per loop (mean ± std. dev. of 10 runs, 20 loops each)

-r 参数指定运行多少轮,-n参数指定每轮运行多少次。

5. 绘图相关

最后,介绍在Jupyter Notebook中使用matplotlib绘图时用到的魔法命令。

5.1. 直接显示

%matplotlib inline,直接显示在代码的下方,这也是最常用的方式。

import matplotlib.pyplot as plt
import numpy as np

%matplotlib inline

x = np.arange(0, 10, 1)
y = x*x + 2

plt.plot(x, y)
plt.show()
图片

5.2. 使用 TK 绘制

%matplotlib tk,会弹出新的窗口显示图形,并且图形可以交互。

import matplotlib.pyplot as plt
import numpy as np

%matplotlib tk

x = np.arange(0, 10, 1)
y = x*x + 2

plt.plot(x, y)
plt.show()


「红色框」标出的就是交互的按钮。

5.3. 使用 notebook 绘制

%matplotlib notebook和使用tk是类似的,只是不弹出新的窗口。

import matplotlib.pyplot as plt
import numpy as np

%matplotlib notebook

x = np.arange(0, 10, 1)
y = x*x + 2

plt.plot(x, y)
plt.show()


这种方式同样是可以交互的。

标签:10,jupyter,魔法,matplotlib,命令,Notebook,Jupyter,运行
From: https://www.cnblogs.com/QQ-77Ly/p/17560600.html

相关文章

  • js的在线编辑器jupyter
    官方文档:[n-riesco/ijavascript:IJavascript是Jupyter笔记本的javascript内核](https://github.com/n-riesco/ijavascript)Windows(Anaconda发行版)打开Anaconda提示符并运行:condainstallnodejsnpminstall-gijavascriptijsinstalljupyternotebook然后您可以在终......
  • 数据分析之jupyter notebook工具
    一、jupyternotebook介绍1、简介JupyterNotebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——JupyterNotebook官方介绍简而言之,JupyterNotebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的......
  • Python 20个魔法函数
    本文将为您详细介绍Python中的20个魔法函数,这些函数能够在代码中释放神奇的力量。让我们一起来了解这些特殊的函数,并提供一些在实际接口自动化工作中的示例代码。魔法函数(MagicMethods),也被称为特殊方法或双下划线方法,是Python中一些特殊命名的函数,它们以双下划线开头和结尾......
  • 魔法方法之__getitem__(self, key)、__setitem__(self, key, value) 和 __delitem__(s
    1'''2__getitem__(self,key)、__setitem__(self,key,value)和__delitem__(self,key)是Python中的特殊方法,用于定义对对象进行索引操作时的行为。3它们分别用于获取、设置和删除对象中的元素41.__getitem__(self,key):该方法用于通过索引或键来获取对象中的......
  • 魔法方法__len__
    1'''2__len__()是一个魔法方法,用于返回对象的长度或元素个数。3它通常被用于支持内置函数len()的调用,并在自定义的容器类中实现。4最佳实践:51.在容器类中实现__len__()方法可以提供对象的长度信息,使其能够像内置容器(如列表、字典等)一样使用。62.......
  • 魔法函数 __repr__() 和 __str__()的区别
    1'''2__repr__()和__str__()都是Python中的特殊方法,用于定义对象的字符串表示形式。它们之间的区别如下:31.__repr__(self):返回一个字符串,用于表示对象的“官方”字符串表示形式。这个字符串应该是可以用来重新创建对象的,并且应该尽可能准确和详细。4......
  • 面向对象之魔法方法
    什么是魔法方法?Python类中的魔法方法(MagicMethods)是特殊的方法,以双下划线(__)开头和结尾的方法。这些方法在对象的创建、运算符重载、属性访问等方面提供了特定的行为。都是内置方法,一般方法命名不建议使用这种格式即双下划线开头和结尾的方法__init__(self,...):构造函数,用于......
  • Jupyter Notebook 的快捷键
    JupyterNotebook的快捷键JupyterNotebook有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。命令模式,键盘输入运行程序命令;这时的单元框线是灰色。命令模式(按键Esc开启)Enter:转入编辑模式Shift-Enter:运行本单元,选中下个单元Ct......
  • Jupyter Notebook修改默认路径
    转载于:https://zhuanlan.zhihu.com/p/70420213本文对原作者的教程进行整理和部分修改优化(由于版本等问题)。1JupyterNotebook的启动JupyterNotebook的启动等可以在其他地方方便的找到,这里简要说明。1.1cmd命令提示符窗口windows键加上R,然后输入cmd,也可以打开命令提示符窗......
  • 现代电网的存储管理matlab源代码,代码按照高水平文章复现,保证正确,Jupyter Notebook编写
    现代电网的存储管理matlab源代码,代码按照高水平文章复现,保证正确,JupyterNotebook编写,需要安装Python本文介绍了一种电网储能管理方法。从发电和用电需求的随机特性出发,提出了一个将每个时间步的储存水平作为其之前状态和实现的电力盈/亏的函数的方程。由此,我们可以得到下一个时间......