Jupyter NoteBook 是功能强大的Python交互IDE,深受数据分析师和算法工程师的热爱。Jupyter NoteBook 在综合使用文字、代码、图片等多种元素展示设计者的想法方面有着美妙的用户体验。而其自带的一些常用Magic Command 可以让它变得更加得心应手。
magic函数主要包含两大类,一类是行魔法(Line magic)前缀为%,一类是单元魔法(Cell magic)前缀为%%;
最常用的魔法函数有以下几个:
1、%lsmagic #打印当前可以用的魔法命令,当我们想使用一个魔法命令,而不知怎么拼写函数名时,可以使用%lsmagic来查询;
%lsmagic
- Available line magics:
- %alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
- %colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
- %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
- %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
- %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
- %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %profile %prun %psearch
- %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx
- %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc
- %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls
- %whos %xdel %xmode
-
- Available cell magics:
- %%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex
- %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
- %%sh %%svg %%sx %%system %%time %%timeit %%writefile
-
- Automagic is ON, % prefix IS NOT needed for line magics.
2、%matplotlib? #魔法命令+?显示魔法命令的说明 Docstring
%ls?
Repr: for 'ls -F --color'>
%lsmagic?
- Docstring: List currently available magic functions.
- File: /usr/local/lib/python3.5/dist-packages/IPython/core/magics/basic.py
3、%matplotlib inline #使用matplotlib画图时,图片嵌入在jupyter notebook里面,不以单独窗口显示
- %matplotlib inline
- import numpy as np
- import matplotlib.pyplot as plt
- plt.plot(np.arange(10))
[0x7f2204c19be0>]
4、%timeit %%timeit #为代码执行计时
- import numpy as np
- %timeit np.sin(24)
2.42 µs ± 592 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
- %%timeit
- x=np.sin(20)
- np.cos(-x)
5.08 µs ± 463 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
5、%%writefile #后面紧接着一个file_name.py,表示在jupyter notebook里面创建一个py文件,后面cell里面的内容为py文件内容
- %%writefile test_peace.py
- import numpy as np
- print(np.random.randint(1,5))
在当前路径下会生成一个test_peace.py的文件,内容就是cell里面的内容
Writing test_peace.py
6、%run #后面紧接着一个相对地址的file_name.py,表示运行一个py文件
%run test_peace.py
3
7、%pwd #和linux一样,查找当前目录
%pwd
'/home/hanxiaoyang/ml_jxy5/0.Teacher/Exercise'
8、%cd #更改当前目录
%cd ../
操作起来和Linux,Unix系统的文件操作差不多
/home/hanxiaoyang/ml_jxy5/0.Teacher
9、%cp #复制文件
%cp test_peace.py test_load.py
10、%whos #查看当前变量,类型,信息
%whos
- Variable Type Data/Info
- -------------------------------
- np module
'numpy' from '/us<...>kages/numpy/__init__.py'> - plt module
'matplotlib.pyplo<...>es/matplotlib/pyplot.py'> - x float64 -0.3048106211022167
- y list n=3
11、%reset #清除变量
%reset
- %whos
- Interactive namespace is empty.
前面定义的变量就已经全部被清除了
12、%del #清除某一个变量
13、%load #加载一个文件里面的内容
%load test_peace.py
- # %load test_peace.py
- import numpy as np
- print(np.random.randint(1,5))
评论记录:
回复评论: