<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Jupyter on Hacper&#39;s Blog</title>
    <link>https://hacperme.com/tags/jupyter/</link>
    <description>Recent content in Jupyter on Hacper&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Sun, 28 Oct 2018 06:36:49 +0800</lastBuildDate>
    <atom:link href="https://hacperme.com/tags/jupyter/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>如何让 jupyter notebook 支持 MATLAB 程序？</title>
      <link>https://hacperme.com/posts/notes/2018-10-28-jupyter-notebook-install-matlab-kernel/</link>
      <pubDate>Sun, 28 Oct 2018 06:36:49 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-10-28-jupyter-notebook-install-matlab-kernel/</guid>
      <description>我之前安装的 MATLAB 的版本是 2017a，曾尝试过安装 jupyter 的 MATLAB 内核，但是失败了，网上说要 2017b 的版本才能用。 正好今天帮别人安装了 MATLAB 2018a，然后顺带在自</description>
      <content:encoded><![CDATA[<p>我之前安装的 MATLAB 的版本是 2017a，曾尝试过安装 jupyter 的 MATLAB 内核，但是失败了，网上说要 2017b 的版本才能用。</p>
<p>正好今天帮别人安装了 MATLAB 2018a，然后顺带在自己的电脑上也安装了新版本，尝试再次安装 jupyter 的内核，结果是成功的。以后可以在 jupyter notebook 上写 MATLAB 程序的笔记了。</p>
<p>安装过程不复杂，就两部分：</p>
<ul>
<li>安装 The MATLAB Engine API for Python</li>
<li>安装 Matlab kernel for Jupyter</li>
</ul>
<h2 id="安装-matlab-的-python-引擎">安装 MATLAB 的 Python 引擎</h2>
<p>进入MATLAB的安装目录，找到 extern\engines\python这个路径，并拷贝下来。比如我的安装位置是：</p>
<p><code>I:\matlab2018a\extern\engines\python</code></p>
<p>然后打开 cmd 切换到 I:\matlab2018a\extern\engines\python 目录下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">D:<span class="se">\U</span>sers<span class="se">\t</span>racis&gt;i:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">I:<span class="se">\L</span>istary&gt;cd I:<span class="se">\m</span>atlab2018a<span class="se">\e</span>xtern<span class="se">\e</span>ngines<span class="se">\p</span>ython
</span></span></code></pre></td></tr></table>
</div>
</div><p>输入安装命令：python setup.py install</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">I:<span class="se">\m</span>atlab2018a<span class="se">\e</span>xtern<span class="se">\e</span>ngines<span class="se">\p</span>ython&gt;python setup.py install
</span></span><span class="line"><span class="cl">running install
</span></span><span class="line"><span class="cl">running build
</span></span><span class="line"><span class="cl">running build_py
</span></span><span class="line"><span class="cl">running install_lib
</span></span><span class="line"><span class="cl">copying build<span class="se">\l</span>ib<span class="se">\m</span>atlab<span class="se">\e</span>ngine<span class="se">\_</span>arch.txt -&gt; I:<span class="se">\p</span>ython36<span class="se">\L</span>ib<span class="se">\s</span>ite-packages<span class="se">\m</span>atlab<span class="se">\e</span>ngine
</span></span><span class="line"><span class="cl">running install_egg_info
</span></span><span class="line"><span class="cl">Removing I:<span class="se">\p</span>ython36<span class="se">\L</span>ib<span class="se">\s</span>ite-packages<span class="se">\m</span>atlabengineforpython-R2018a-py3.6.egg-info
</span></span><span class="line"><span class="cl">Writing I:<span class="se">\p</span>ython36<span class="se">\L</span>ib<span class="se">\s</span>ite-packages<span class="se">\m</span>atlabengineforpython-R2018a-py3.6.egg-info
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="安装-jupyter-的-matlab-内核">安装 jupyter 的 MATLAB 内核</h2>
<p>在 cmd 输入安装命令：</p>
<p><code>pip install matlab_kernel</code></p>
<p>查看已安装的 jupyter 内核：</p>
<p><code>jupyter kernelspec list</code></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Available kernels:
</span></span><span class="line"><span class="cl">  matlab     i:<span class="se">\p</span>ython36<span class="se">\s</span>hare<span class="se">\j</span>upyter<span class="se">\k</span>ernels<span class="se">\m</span>atlab
</span></span><span class="line"><span class="cl">  python3    i:<span class="se">\p</span>ython36<span class="se">\s</span>hare<span class="se">\j</span>upyter<span class="se">\k</span>ernels<span class="se">\p</span>ython
</span></span></code></pre></td></tr></table>
</div>
</div><p>Available kernels 下有 matlab，说明安装成功了。</p>
<h2 id="尝试-matlab-notebook">尝试 MATLAB notebook</h2>
<p>启动 jupyter notebook，尝试在 jupyter notebook 中使用写MATLAB程序：</p>
<p><code>jupyter notebook</code></p>
<p>在 new 菜单下，选择创建 MATLAB 笔记本，以下是测试效果：</p>
<p><img loading="lazy" src="https://i.loli.net/2018/10/27/5bd418441f7b6.jpg" alt="blob.jpg"  />
</p>
<p>创建一个全 1 方阵：<br>
<img loading="lazy" src="https://i.loli.net/2018/10/27/5bd41b63ae37d.jpg" alt="blob.jpg"  />
</p>
<p>画图：<br>
<img loading="lazy" src="https://i.loli.net/2018/10/27/5bd41b7da84ac.jpg" alt="blob.jpg"  />
</p>
<hr>
<p>参考资料：</p>
<ul>
<li><a href="https://www.mathworks.com/help/matlab/matlab">https://www.mathworks.com/help/matlab/matlab</a>_external/install-the-matlab-engine-for-python.html</li>
<li><a href="https://github.com/Calysto/matlab">https://github.com/Calysto/matlab</a>_kernel</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>jupyter notebook 学习笔记</title>
      <link>https://hacperme.com/posts/notes/2018-06-08-jupyter_notebook_learnning_note/</link>
      <pubDate>Fri, 08 Jun 2018 23:59:31 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-06-08-jupyter_notebook_learnning_note/</guid>
      <description>快捷键 查看快捷键 在右上角的== help-&amp;gt;keyboard Shortcuts == 或者在命令模式按 H 常用快捷键 Command Mode (press Esc to enable) F : find and replace Enter : enter edit mode Shift-Enter : run cell, select below Ctrl-Enter : run selected cells Alt-Enter : run cell and insert below Y : change cell</description>
      <content:encoded><![CDATA[<h2 id="快捷键">快捷键</h2>
<ol>
<li>查看快捷键</li>
</ol>
<p>在右上角的== help-&gt;keyboard Shortcuts ==<br>
或者在命令模式按 <strong>H</strong></p>
<ol start="2">
<li>常用快捷键</li>
</ol>
<p><strong>Command Mode (press Esc to enable)</strong></p>
<ul>
<li><!-- raw HTML omitted -->F : find and replace<!-- raw HTML omitted --></li>
<li>Enter : enter edit mode</li>
<li>Shift-Enter : run cell, select below</li>
<li>Ctrl-Enter : run selected cells</li>
<li>Alt-Enter : run cell and insert below</li>
<li><!-- raw HTML omitted -->Y : change cell to code<!-- raw HTML omitted --></li>
<li><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted -->M : change cell to markdown<!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted --></li>
<li>R : change cell to raw</li>
<li><!-- raw HTML omitted --><!-- raw HTML omitted -->1 : change cell to heading 1<!-- raw HTML omitted --><!-- raw HTML omitted --></li>
<li>2 : change cell to heading 2</li>
<li>K : select cell abov- F : find and replace</li>
<li>Enter : enter edit mode</li>
<li><!-- raw HTML omitted -->P : open the command palette<!-- raw HTML omitted --></li>
<li>Shift-Enter : run cell, select below</li>
<li>Ctrl-Enter : run selected cells</li>
<li>Alt-Enter : run cell and insert below</li>
<li>Y : change cell to code</li>
<li>1 : change cell to heading 1</li>
<li>2 : change cell to heading 2</li>
<li>K : select cell above</li>
<li>Up : select cell above</li>
<li>Down : select cell below</li>
<li>J : select cell below</li>
<li>Shift-K : extend selected cells above</li>
<li>Shift-Up : extend selected cells above</li>
<li>Shift-Down : extend selected cells below</li>
<li>Shift-J : extend selected cells below</li>
<li>A : insert cell above</li>
<li>B : insert cell below</li>
<li>X : cut selected cells</li>
<li>C : copy selected cells</li>
<li>Z : undo cell deletion</li>
<li>D,D : delete selected cells</li>
<li>Shift-M : merge selected cells, or current cell with cell below if only one cell is selected</li>
<li>L : toggle line numbers</li>
<li>H : show keyboard shortcuts</li>
<li>Shift-Space : scroll notebook up</li>
<li>Space : scroll notebook downe</li>
</ul>
<p><strong>Edit Mode (press Enter to enable)</strong></p>
<ul>
<li><!-- raw HTML omitted -->Tab : code completion or indent<!-- raw HTML omitted --></li>
<li><!-- raw HTML omitted -->Shift-Tab: tooltip (e.g. to get function arguments)<!-- raw HTML omitted --></li>
<li>Ctrl-A : select all</li>
<li>Ctrl-Z : undo</li>
<li>Ctrl-/ : comment</li>
<li>Esc : enter command mode</li>
<li>Shift-Enter : run cell, select below</li>
<li>Ctrl-Enter : run selected cells</li>
<li>Alt-Enter : run cell and insert below</li>
<li>Ctrl-Shift-Minus : split cell at cursor</li>
</ul>
<h2 id="查看文档">查看文档</h2>
<ul>
<li>在 help 菜单有常用库文档的连接，包括 NumPy, Pandas, SciPy 和 Matplotlib.</li>
<li>在一个库，方法或变量前加上 ?，你可以获得它的一个快速语法说明</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl">  <span class="kn">import</span> <span class="nn">random</span>
</span></span><span class="line"><span class="cl">  <span class="err">?</span><span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="c1"># 查看帮助</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">??</span><span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 查看源码</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Signature: random.choice<span class="o">(</span>seq<span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Docstring: Choose a random element from a non-empty sequence.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">File: i:<span class="se">\p</span>ython364<span class="se">\l</span>ib<span class="se">\r</span>andom.py
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Type: method
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="jupyter-magic-commands">Jupyter Magic Commands</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">lsmagic</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 查看所有魔法命令</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">Available line magics:
</span></span><span class="line"><span class="cl"><span class="nv">%alias  %</span>alias_magic  <span class="nv">%autocall  %</span>automagic  <span class="nv">%autosave  %</span>bookmark  <span class="nv">%cd  %</span>clear  <span class="nv">%cls  %</span>colors  <span class="nv">%config  %</span>connect_info  <span class="nv">%copy  %</span>ddir  <span class="nv">%debug  %</span>dhist  <span class="nv">%dirs  %</span>doctest_mode  <span class="nv">%echo  %</span>ed  <span class="nv">%edit  %</span>env  <span class="nv">%gui  %</span>hist  <span class="nv">%history  %</span>killbgscripts  <span class="nv">%ldir  %</span>less  <span class="nv">%load  %</span>load_ext  <span class="nv">%loadpy  %</span>logoff  <span class="nv">%logon  %</span>logstart  <span class="nv">%logstate  %</span>logstop  <span class="nv">%ls  %</span>lsmagic  <span class="nv">%macro  %</span>magic  <span class="nv">%matplotlib  %</span>mkdir  <span class="nv">%more  %</span>notebook  <span class="nv">%page  %</span>pastebin  <span class="nv">%pdb  %</span>pdef  <span class="nv">%pdoc  %</span>pfile  <span class="nv">%pinfo  %</span>pinfo2  <span class="nv">%popd  %</span>pprint  <span class="nv">%precision  %</span>profile  <span class="nv">%prun  %</span>psearch  <span class="nv">%psource  %</span>pushd  <span class="nv">%pwd  %</span>pycat  <span class="nv">%pylab  %</span>qtconsole  <span class="nv">%quickref  %</span>recall  <span class="nv">%rehashx  %</span>reload_ext  <span class="nv">%ren  %</span>rep  <span class="nv">%rerun  %</span>reset  <span class="nv">%reset_selective  %</span>rmdir  <span class="nv">%run  %</span>save  <span class="nv">%sc  %</span>set_env  <span class="nv">%store  %</span>sx  <span class="nv">%system  %</span>tb  <span class="nv">%time  %</span>timeit  <span class="nv">%unalias  %</span>unload_ext  <span class="nv">%who  %</span>who_ls  <span class="nv">%whos  %</span>xdel  %xmode
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Available cell magics:
</span></span><span class="line"><span class="cl"><span class="se">%%</span>!  <span class="se">%%</span>HTML  <span class="se">%%</span>SVG  <span class="se">%%</span>bash  <span class="se">%%</span>capture  <span class="se">%%</span>cmd  <span class="se">%%</span>debug  <span class="se">%%</span>file  <span class="se">%%</span>html  <span class="se">%%</span>javascript  <span class="se">%%</span>js  <span class="se">%%</span>latex  <span class="se">%%</span>markdown  <span class="se">%%</span>perl  <span class="se">%%</span>prun  <span class="se">%%</span>pypy  <span class="se">%%</span>python  <span class="se">%%</span>python2  <span class="se">%%</span>python3  <span class="se">%%</span>ruby  <span class="se">%%</span>script  <span class="se">%%</span>sh  <span class="se">%%</span>svg  <span class="se">%%</span>sx  <span class="se">%%</span>system  <span class="se">%%</span>time  <span class="se">%%</span>timeit  <span class="se">%%</span>writefile
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Automagic is ON, % prefix IS NOT needed for line magics.
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>常用魔法命令</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">env</span> <span class="n">AA</span> <span class="o">=</span> <span class="s1">&#39;123&#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 设置环境变量</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">%</span><span class="n">env</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 列出环境变量</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span><span class="lnt">56
</span><span class="lnt">57
</span><span class="lnt">58
</span><span class="lnt">59
</span><span class="lnt">60
</span><span class="lnt">61
</span><span class="lnt">62
</span><span class="lnt">63
</span><span class="lnt">64
</span><span class="lnt">65
</span><span class="lnt">66
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">env: AA=&#39;123&#39;
</span></span><span class="line"><span class="cl">{&#39;ACTEL_FOR_ALTIUM_OVERRIDE&#39;: &#39; &#39;,
</span></span><span class="line"><span class="cl"> &#39;ALLUSERSPROFILE&#39;: &#39;D:\\ProgramData&#39;,
</span></span><span class="line"><span class="cl"> &#39;ALTERA_FOR_ALTIUM_OVERRIDE&#39;: &#39; &#39;,
</span></span><span class="line"><span class="cl"> &#39;APPDATA&#39;: &#39;D:\\Users\\tracis\\AppData\\Roaming&#39;,
</span></span><span class="line"><span class="cl"> &#39;CLASSPATH&#39;: &#39; .;I:\\Java\\jdk1.8.0_101/lib/dt.jar;I:\\Java\\jdk1.8.0_101/lib/tools.jar&#39;,
</span></span><span class="line"><span class="cl"> &#39;COMMONPROGRAMFILES&#39;: &#39;D:\\Program Files (x86)\\Common Files&#39;,
</span></span><span class="line"><span class="cl"> &#39;COMMONPROGRAMFILES(X86)&#39;: &#39;D:\\Program Files (x86)\\Common Files&#39;,
</span></span><span class="line"><span class="cl"> &#39;COMMONPROGRAMW6432&#39;: &#39;D:\\Program Files\\Common Files&#39;,
</span></span><span class="line"><span class="cl"> &#39;COMPUTERNAME&#39;: &#39;HACPER-PC&#39;,
</span></span><span class="line"><span class="cl"> &#39;COMSPEC&#39;: &#39;D:\\WINDOWS\\system32\\cmd.exe&#39;,
</span></span><span class="line"><span class="cl"> &#39;DRIVERDATA&#39;: &#39;D:\\Windows\\System32\\Drivers\\DriverData&#39;,
</span></span><span class="line"><span class="cl"> &#39;ENVCONTAINERTELEMETRYAPICMDLINE&#39;: &#39;-st <span class="s2">&#34;D:\\Program Files\\NVIDIA Corporation\\NvContainer\\NvContainerTelemetryApi.dll&#34;</span>&#39;,
</span></span><span class="line"><span class="cl"> &#39;ENVCONTAINERTELEMETRYAPICMDLINEX86&#39;: &#39;-st <span class="s2">&#34;D:\\Program Files (x86)\\NVIDIA Corporation\\NvContainer\\NvContainerTelemetryApi.dll&#34;</span>&#39;,
</span></span><span class="line"><span class="cl"> &#39;FP_NO_HOST_CHECK&#39;: &#39;NO&#39;,
</span></span><span class="line"><span class="cl"> &#39;HOMEDRIVE&#39;: &#39;D:&#39;,
</span></span><span class="line"><span class="cl"> &#39;HOMEPATH&#39;: &#39;\\Users\\tracis&#39;,
</span></span><span class="line"><span class="cl"> &#39;JAVA_HOME&#39;: &#39;I:\\Java\\jdk1.8.0_101&#39;,
</span></span><span class="line"><span class="cl"> &#39;K2PDFOPT_CUSTOM0&#39;: &#39;Last Settings;-o D:\\Users\\tracis\\Desktop\\%b_k2opt;&#39;,
</span></span><span class="line"><span class="cl"> &#39;K2PDFOPT_CUSTOM1&#39;: &#39;2-column paper;-mode 2col;&#39;,
</span></span><span class="line"><span class="cl"> &#39;K2PDFOPT_CUSTOM2&#39;: &#39;Trim Margins;-mode fw;&#39;,
</span></span><span class="line"><span class="cl"> &#39;K2PDFOPT_WINPOS&#39;: &#39;-8 -8 872 720&#39;,
</span></span><span class="line"><span class="cl"> &#39;KMP_DUPLICATE_LIB_OK&#39;: &#39;TRUE&#39;,
</span></span><span class="line"><span class="cl"> &#39;LOCALAPPDATA&#39;: &#39;D:\\Users\\tracis\\AppData\\Local&#39;,
</span></span><span class="line"><span class="cl"> &#39;LOGONSERVER&#39;: &#39;\\\\HACPER-PC&#39;,
</span></span><span class="line"><span class="cl"> &#39;MKL_SERIAL&#39;: &#39;YES&#39;,
</span></span><span class="line"><span class="cl"> &#39;NIEXTCCOMPILERSUPP&#39;: &#39;I:\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\&#39;,
</span></span><span class="line"><span class="cl"> &#39;NO_XILINX_DATA_LICENSE&#39;: &#39;HIDDEN&#39;,
</span></span><span class="line"><span class="cl"> &#39;NUMBER_OF_PROCESSORS&#39;: &#39;4&#39;,
</span></span><span class="line"><span class="cl"> &#39;ONEDRIVE&#39;: &#39;D:\\Users\\tracis\\OneDrive&#39;,
</span></span><span class="line"><span class="cl"> &#39;OS&#39;: &#39;Windows_NT&#39;,
</span></span><span class="line"><span class="cl"> &#39;PATH&#39;: &#39;I:\\FFMPEG~1\\bin;D:\\PROGRA~1\\Docker\\Docker\\RESOUR~1\\bin;I:\\PHANTO~1.1-W\\bin;I:\\PYTHON~1\\Scripts;I:\\PYTHON~1;I:\\ANDROI~1\\PLATFO~2;D:\\Windows\\System32\\wbem;I:\\Java\\jdk1.8.0_101/bin;I:\\Java\\jdk1.8.0_101/jre/bin;D:\\Windows\\System32;I:\\gcc\\bin;i:\\quartus\\quartus\\bin;D:\\Windows;I:\\OpenVPN\\bin;I:\\calibre\\;I:\\ANDROI~1\\NDK-BU~1;I:\\Redis\\;I:\\Git\\cmd;I:\\MATLAB\\runtime\\win64;I:\\MATLAB\\bin;D:\\Windows\\System32\\WINDOW~1\\v1.0\\;D:\\WINDOWS\\system32;D:\\WINDOWS;D:\\WINDOWS\\System32\\Wbem;D:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;D:\\WINDOWS\\System32\\OpenSSH\\;D:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;I:\\Process Lasso\\;D:\\Users\\tracis\\AppData\\Local\\Microsoft\\WindowsApps;i:\\python364\\lib\\site-packages\\pywin32_system32;i:\\python364\\lib\\site-packages\\pywin32_system32&#39;,
</span></span><span class="line"><span class="cl"> &#39;PATHEXT&#39;: &#39;.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROCESSOR_ARCHITECTURE&#39;: &#39;x86&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROCESSOR_ARCHITEW6432&#39;: &#39;AMD64&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROCESSOR_IDENTIFIER&#39;: &#39;Intel64 Family 6 Model 61 Stepping 4, GenuineIntel&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROCESSOR_LEVEL&#39;: &#39;6&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROCESSOR_REVISION&#39;: &#39;3d04&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROGRAMDATA&#39;: &#39;D:\\ProgramData&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROGRAMFILES&#39;: &#39;D:\\Program Files (x86)&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROGRAMFILES(X86)&#39;: &#39;D:\\Program Files (x86)&#39;,
</span></span><span class="line"><span class="cl"> &#39;PROGRAMW6432&#39;: &#39;D:\\Program Files&#39;,
</span></span><span class="line"><span class="cl"> &#39;PSMODULEPATH&#39;: &#39;D:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\&#39;,
</span></span><span class="line"><span class="cl"> &#39;PUBLIC&#39;: &#39;D:\\Users\\Public&#39;,
</span></span><span class="line"><span class="cl"> &#39;QUARTUS_ROOTDIR&#39;: &#39;i:\\quartus\\quartus&#39;,
</span></span><span class="line"><span class="cl"> &#39;SESSIONNAME&#39;: &#39;Console&#39;,
</span></span><span class="line"><span class="cl"> &#39;SYSTEMDRIVE&#39;: &#39;D:&#39;,
</span></span><span class="line"><span class="cl"> &#39;SYSTEMROOT&#39;: &#39;D:\\WINDOWS&#39;,
</span></span><span class="line"><span class="cl"> &#39;TEMP&#39;: &#39;K:\\temp&#39;,
</span></span><span class="line"><span class="cl"> &#39;TMP&#39;: &#39;K:\\temp&#39;,
</span></span><span class="line"><span class="cl"> &#39;USERDOMAIN&#39;: &#39;HACPER-PC&#39;,
</span></span><span class="line"><span class="cl"> &#39;USERDOMAIN_ROAMINGPROFILE&#39;: &#39;HACPER-PC&#39;,
</span></span><span class="line"><span class="cl"> &#39;USERNAME&#39;: &#39;tracis&#39;,
</span></span><span class="line"><span class="cl"> &#39;USERPROFILE&#39;: &#39;D:\\Users\\tracis&#39;,
</span></span><span class="line"><span class="cl"> &#39;WINDIR&#39;: &#39;D:\\WINDOWS&#39;,
</span></span><span class="line"><span class="cl"> &#39;WINDOWS_TRACING_FLAGS&#39;: &#39;3&#39;,
</span></span><span class="line"><span class="cl"> &#39;XILINX_FOR_ALTIUM_OVERRIDE&#39;: &#39; &#39;,
</span></span><span class="line"><span class="cl"> &#39;JPY_INTERRUPT_EVENT&#39;: &#39;1248&#39;,
</span></span><span class="line"><span class="cl"> &#39;IPY_INTERRUPT_EVENT&#39;: &#39;1248&#39;,
</span></span><span class="line"><span class="cl"> &#39;JPY_PARENT_PID&#39;: &#39;1212&#39;,
</span></span><span class="line"><span class="cl"> &#39;TERM&#39;: &#39;xterm-color&#39;,
</span></span><span class="line"><span class="cl"> &#39;CLICOLOR&#39;: &#39;1&#39;,
</span></span><span class="line"><span class="cl"> &#39;PAGER&#39;: &#39;cat&#39;,
</span></span><span class="line"><span class="cl"> &#39;GIT_PAGER&#39;: &#39;cat&#39;,
</span></span><span class="line"><span class="cl"> &#39;MPLBACKEND&#39;: &#39;module://ipykernel.pylab.backend_inline&#39;,
</span></span><span class="line"><span class="cl"> &#39;AA&#39;: <span class="s2">&#34;&#39;123&#39;&#34;</span>}
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>读写文件</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%%</span><span class="n">file</span> <span class="n">hello</span><span class="o">.</span><span class="n">txt</span>
</span></span><span class="line"><span class="cl"><span class="n">Hello</span><span class="p">,</span> <span class="n">world</span>
</span></span><span class="line"><span class="cl"><span class="n">This</span> <span class="ow">is</span> <span class="n">thing</span> <span class="n">number</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl"><span class="n">This</span> <span class="ow">is</span> <span class="n">thing</span> <span class="n">number</span> <span class="mi">2</span>
</span></span><span class="line"><span class="cl"><span class="n">This</span> <span class="ow">is</span> <span class="n">thing</span> <span class="n">number</span> <span class="mi">3</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">Writing hello.txt
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">pycat</span> <span class="n">hello</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>%run 可以从.py 文件执行 Python 代码. 它也可以执行其他的 Jupyter notebook,</li>
</ul>
<p>注意使用%run 并不等同于导入一个 Python 模块.</p>
<ul>
<li>%store 命令可以让你在两个不同的 notebook 间传递变量。</li>
<li>不带参数的%who 命令将会列出全局范围内存在的所有变量。如果传入参数，比如 str，将会列出指定类型的所有变量。</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">who</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">random
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>%%time 将会给出 cell 的代码运行一次所花费的时间。</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%%</span><span class="n">time</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">time</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mf">0.01</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">Wall time: 106 ms
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>%timeit 使用 Python 的 timeit 模块，它将会执行一个语句 100，000 次(默认情况下)，然后给出运行最快 3 次的平均值。</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">timeit</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span>
</span></span><span class="line"><span class="cl"><span class="o">%</span><span class="n">timeit</span> <span class="n">numpy</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">13.3 µs ± 624 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>使用%%writefile 魔法保存 cell 的内容到一个外部文件。%pycat 则刚好相反，并且会向你展示高亮后的外部文件。</li>
<li>使用%prun statement_name 将会产生一个有序表格来展示在该语句中所调用的每个内部函数调用的次数，每次调用的时间与该函数累计运行的时间。</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">prun</span> <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;hello&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">hello
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>加上一个分号可以抑制最后一行函数的输出</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">matplotlib</span> <span class="n">inline</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span>
</span></span><span class="line"><span class="cl"><span class="n">x</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span><span class="o">**</span><span class="mf">1.5</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 有输出</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl"><span class="p">(</span>array([216., 126., 106.,  95.,  87.,  81.,  77.,  73.,  71.,  68.]<span class="p">)</span>,
</span></span><span class="line"><span class="cl"> array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),
</span></span><span class="line"><span class="cl"> <span class="p">&amp;</span>lt;a list of 10 Patch objects<span class="p">&amp;</span>gt;)
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://cdn.steemitimages.com/DQmcqi4735WDF1a9WSXsPSnqjqyWyGmQWGvrbCGcMqTv7GW/output_31_0.png" alt="output_31_0.png"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">x</span><span class="p">);</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://cdn.steemitimages.com/DQmcqi4735WDF1a9WSXsPSnqjqyWyGmQWGvrbCGcMqTv7GW/output_30_1.png" alt="output_30_1.png"  />
</p>
<ul>
<li>执行 shell 命令</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="nb">dir</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">驱动器 K 中的卷是 DATA
</span></span><span class="line"><span class="cl">卷的序列号是 537C-4A16
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> K:\Workspace\python 的目录
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">2018/06/08  22:03    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          .
</span></span><span class="line"><span class="cl">2018/06/08  22:03    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          ..
</span></span><span class="line"><span class="cl">2018/06/08  20:39    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          .ipynb_checkpoints
</span></span><span class="line"><span class="cl">2018/06/07  13:18    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          analyses_friend
</span></span><span class="line"><span class="cl">2018/03/18  00:21    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          dataanalysis
</span></span><span class="line"><span class="cl">2018/02/01  23:21    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          env
</span></span><span class="line"><span class="cl">2018/06/07  23:20            10,575 fangzheng.ipynb
</span></span><span class="line"><span class="cl">2018/03/24  22:47         1,780,465 get-pip.py
</span></span><span class="line"><span class="cl">2018/03/02  00:44    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          gongzhonghao
</span></span><span class="line"><span class="cl">2018/05/27  22:12    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          husespider
</span></span><span class="line"><span class="cl">2018/03/17  15:53    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          jupyteconfig
</span></span><span class="line"><span class="cl">2018/06/08  22:03            29,438 jupyter notebook.ipynb
</span></span><span class="line"><span class="cl">2018/02/28  15:15    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          shuzixiaoyuan
</span></span><span class="line"><span class="cl">2018/06/01  11:29            14,178 Untitled.ipynb
</span></span><span class="line"><span class="cl">2018/05/25  07:53    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          wechatbot
</span></span><span class="line"><span class="cl">2018/05/23  12:14    <span class="p">&amp;</span>lt;DIR<span class="p">&amp;</span>gt;          xuetangzaixian
</span></span><span class="line"><span class="cl">2018/05/05  14:14             3,252 用 Python 统计字数.ipynb
</span></span><span class="line"><span class="cl">               5 个文件      1,837,908 字节
</span></span><span class="line"><span class="cl">              12 个目录 77,272,072,192 可用字节
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="书写-latex">书写 LaTeX</h2>
<p>$$ P(A \mid B) = \frac{P(B \mid A) \, P(A)}{P(B)} $$</p>
<h2 id="将多个-kernel-的代码组合到一个-notebook">将多个 kernel 的代码组合到一个 notebook</h2>
<ul>
<li>%%bash</li>
<li>%%HTML</li>
<li>%%python2</li>
<li>%%python3</li>
<li>%%ruby</li>
<li>%%perl</li>
</ul>
<p>加%%是整个 cell 都用那个 kernel 执行代码<br>
而%是指在行以 kernel 执行相应代码</p>
<h2 id="多光标操作">多光标操作</h2>
<p><!-- raw HTML omitted -->按住 Alt 进行点击和拖拽鼠标,再按方向键<!-- raw HTML omitted --></p>
<h2 id="the-jupyter-output-system">The Jupyter output system</h2>
<p>notebook 以 HTML 的方式进行展示，cell 的输出也可以是 HTML，所以事实上你可以返回任何东西：视频/音频/图像。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># packages, modules, imports, namespaces</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">scipy.misc</span> <span class="kn">import</span> <span class="n">factorial</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># function definition with default arguments</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">poisson_pmf</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">mu</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;Poisson PMF for value k with rate mu.&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">mu</span><span class="o">**</span><span class="n">k</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">mu</span><span class="p">)</span> <span class="o">/</span> <span class="n">factorial</span><span class="p">(</span><span class="n">k</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># Jupyter notebook &#34;magic&#34; function</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Sets up &#34;inline&#34; plotting</span>
</span></span><span class="line"><span class="cl"><span class="o">%</span><span class="n">matplotlib</span> <span class="n">inline</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Importing the seaborn plotting library and setting defaults</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
</span></span><span class="line"><span class="cl"><span class="n">sns</span><span class="o">.</span><span class="n">set_context</span><span class="p">(</span><span class="s2">&#34;notebook&#34;</span><span class="p">,</span> <span class="n">font_scale</span><span class="o">=</span><span class="mf">1.5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Variable assignment</span>
</span></span><span class="line"><span class="cl"><span class="n">n</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>  <span class="c1"># [0, 1, 2, ..., 0]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Note that poisson_pmf is vectorized</span>
</span></span><span class="line"><span class="cl"><span class="n">sns</span><span class="o">.</span><span class="n">barplot</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">poisson_pmf</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># pass is a do-nothing statement -</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Used here to suppress printing of return value for sns.barplot()</span>
</span></span><span class="line"><span class="cl"><span class="k">pass</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl">i<span class="p">:</span><span class="nl">\python364\lib\site-packages\ipykernel_launcher.py</span><span class="c1">:8: DeprecationWarning: `factorial` is deprecated!</span>
</span></span><span class="line"><span class="cl">Importing `factorial` from scipy.misc is deprecated in scipy 1.0.0. Use `scipy.special.factorial` instead.
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://cdn.steemitimages.com/DQmNfqP9j2ND1ekVKQWC4UauWbza2BPB9GSQ69Ko9bsKDgj/output_40_1.png" alt="output_40_1.png"  />
</p>
<h2 id="安装扩展插件">安装扩展插件</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">ipython</span><span class="o">-</span><span class="n">contrib</span><span class="o">/</span><span class="n">jupyter_contrib_nbextensions</span><span class="o">/</span><span class="n">tarball</span><span class="o">/</span><span class="n">master</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">python</span> <span class="o">-</span><span class="n">m</span>  <span class="n">pip</span> <span class="n">install</span> <span class="n">jupyter_nbextensions_configurator</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">jupyter</span> <span class="n">contrib</span> <span class="n">nbextension</span> <span class="n">install</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">jupyter</span> <span class="n">nbextensions_configurator</span> <span class="n">enable</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="参考文章">参考文章</h2>
<ul>
<li><a href="http://people.duke.edu/~ccc14/sta-663-2017/00_Jupyter.html">Notes on using Jupyter</a></li>
<li><a href="https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/">28 Jupyter Notebook tips, tricks, and shortcuts</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
