Jupyter-NoteBook-你应该知道的N个小技巧

摘要:
但如果你的目标是数据分析、算法研究和其他工作,那么JupyterNotebook是最适合你的,因为它足够简单,你可以专注于数据和算法逻辑,而不是工具。启动、下载并安装Anaconda。打开Anaconda导航器,您将看到Jupyternotebook。阿里云天池笔记本确实存在一些已知的缺点:无法随意安装第三方功能模块。无法安装笔记本插件。JupyterLab是笔记本的增强版。Anacondnavigator中还有一个JupyterLab。
 

智能决策上手系列教程索引

不断更新
部分内容来自于翻译整理

  1. 多行输出

在Notebook的中开头cell中添加以下代码可以实现多行输出:

from IPython.core.interactiveshell import InteractiveShell 
InteractiveShell.ast_node_interactivity = 'all' #默认为'last'

例如:


 
Jupyter-NoteBook-你应该知道的N个小技巧第1张

如果需要一劳永逸的在每个文件中自动实现这个功能,可以在macOS的/Users/your_user_name/.ipython/profile_default/或者windows的C:Usersyour_profile.ipythonprofile_default文件夹下创建ipython_config.py文件。(mac下你可以在终端进入这个目录touch ipython_config.py来创建)。
然后打开ipython_config.py文件,添加以下两行:

c = get_config()
c.InteractiveShell.ast_node_interactivity = "all"

保存,重启Notebook后生效。


 
Jupyter-NoteBook-你应该知道的N个小技巧第2张

更多设置点这里看官方说明

感谢离宫2提示这个技巧。

  1. module 'numpy' has no attribute 'version'

import pandas as pd就报这个错误,原因未知,解决方法就是-f强制重新安装:

conda install -f numpy
conda install -f pandas
  1. Jupyter Notebook可能是当今最常用的数据科学工具

    写Python代码很多人会告诉你要用Pycharm,但那是开发Python项目用的, 那种由成百上千个文件组成、包含数万行代码的项目必须要很专业的复杂工具才行。
    但如果你的目的是数据分析、算法研究等方面的工作,那么Jupyter Notebook 最适合你,因为它足够简单,让你可以专注于数据和算法的逻辑而不是工具。

  2. JupyterNotebook不仅可以写代码还能输出图像、表格等

    你可以用用下面一些代码实验(代码来自天池实验室):

    %matplotlib inline
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.special import jn
    from IPython.display import display, clear_output
    import time
    x = np.linspace(0,5)
    f, ax = plt.subplots()
    ax.set_title("Bessel functions")
    for n in range(1,10):
       time.sleep(1)
       ax.plot(x, jn(x,n))
       clear_output(wait=True)
       display(f)    
    plt.close()
    

    得到如下图所示:


     
    Jupyter-NoteBook-你应该知道的N个小技巧第3张
    image.png

    常用的绘图分析工具有Matplotlib、Seaborn、plot.ly。

  3. 使用Anaconda来安装最省事

    如果你要快速开始Python编程,直接下载Anaconda是最简单的,它包含了你所需要的一切,甚至连Python都不需要单独安装。
    开机,下载和安装Anaconda,打开Anaconda navigator就看到Jupyter notebook了。
    Anaconda3.5.2:
    百度网盘下载(非VIP较慢)
    官方下载(Windows电脑使用)
    官方下载(苹果电脑使用)

  4. 更省事的是阿里云天池Notebook实验室

    这是一个在线版的Notebook,什么都不需要安装就能开始编码和运行!
    唯一麻烦的就是需要你注册并实名认证。
    你在网页里编写Python代码,然后免费在阿里云服务器上运行并返回结果。你写的代码也存在服务器上,不用再担心会丢失了,它甚至包含了代码版本管理功能!
    阿里云天池Notebook
    已知的确缺点有:

    • 不能随意的安装第三方功能模块。不过它已经自带了很多,大多数情况都足够了。
    • 不能安装Notebook插件。基本上也不是问题,没事谁也不折腾这个。
    • 要命的是你不能像控制自己的电脑一样控制远程服务器,当你在爬取某个网站数据的时候,网站发现你的IP(阿里云服务器的IP)访问不正常要求在浏览器内做人工识别字符验证,这时候你就无助了。——如果在你自己电脑上就只要打开浏览器操作一下就OK了。
  5. Ipython是Jupyter的前身

    Jupyter项目是从Ipython项目演进过来的,所以当你看到存储的文件是.ipynb时候不要奇怪,就是ipython notebook的意思。实际上以后在很多地方都会看到Ipy字样。

  6. JupyterLab是Notebook的加强版

    在Anaconda navigator里面还有一个JupyterLab。Lab在Notebook基础上增加了更多的功能,如果你已经使用过一段时间的Notebook,那可以试试看Lab。

  7. Shift+回车执行单元代码

    快速运行并输出结果,并跳转到下一个单元。

  8. 代码自动完成

    在代码顶部添加%config IPCompleter.greedy=True这一行并且shift+回车运行,对于接下来运行过的内容都会被列入自动提示中。
    按Tab键弹出自动提示
    如下图,输入my然后Tab键就弹出上面自定义的两个变量名,然后按回车直接输入myCount,按向下箭头键再回车就输入myNum

     
    Jupyter-NoteBook-你应该知道的N个小技巧第4张
    image.png

    同样对于import导入的功能模块也可以提示。比如下图,输入requ然后按tab就自动补全输入requests(因为已经导入,并且是唯一的,而刚才的myCountmyNum都是my开头)。
    输入到requests.的时候按tab就会弹出requests包含的所有功能命令,继续输入g就得到下图的情况。
     
    Jupyter-NoteBook-你应该知道的N个小技巧第5张
    image.png
  9. 不要把代码都写在一个单元cell里!

    这非常重要!
    但也不要每行一个cell...
    合理安排,一个cell就是一个小的逻辑单元,这样既可以理清思路,又方便单独运行每个cell方便测试寻找问题。
    推荐把相关的设置变量都集中放在最上面单独一个或几个cell,这样以后使用时候可以集中修改,不影响代码逻辑。
    比如下图中的代码,以后修改只要修改两个变量num1、num2就可以直接运行得到结果。

     
    Jupyter-NoteBook-你应该知道的N个小技巧第6张
    image.png

    另外一个建议就是把能够独立的代码变为一个def单独拿出去作为cell内容,比如下面把求整体方差avri分拆出了两个def函数,avg求平均数,sqr求两数差的平方。(代码仅供示意)
     
    Jupyter-NoteBook-你应该知道的N个小技巧第7张
    image.png
  10. Cell不仅可以写代码,还能Markdown

    Markdown是用来写文章的,比如这个简书文章就是用markdown语法写的。
    新建cell可以选markdown用来写代码注释。

    写起来是这样的:
     
    Jupyter-NoteBook-你应该知道的N个小技巧第8张
    image.png

    shift回车运行后是这样的(双击可以返回到修改模式):
     
    Jupyter-NoteBook-你应该知道的N个小技巧第9张
    image.png
  11. 更改默认打开的项目

    默认Notebook总是打开电脑中我的文档目录,以下方法可以让它打开指定的目录。
    打开命令行工具输入
    jupyter notebook --generate-config
    然后会返回一个地址,找到它(可能是隐藏文件),用写字板打开那个文件jupyter_notebook_config.py:

     
    Jupyter-NoteBook-你应该知道的N个小技巧第10张
    image.png

    然后再顶部添加(等号后面引号内换成你自己的文件夹地址)
    c.NotebookApp.notebook_dir = '/Users/zhyuzh/Desktop/Jupyter'
    然后重新打开Jupyter Notebook就会默认打开这个文件夹了。

    苹果电脑显示隐藏文件的命令:
    defaults write com.apple.finder AppleShowAllFiles -bool YES
    苹果电脑下复制当前文件夹路径快捷键
    Command+Option+C

  12. 扩展插件

    插件可以让Notebook变得更好用一些。一般情况我们不需要安装插件,等你使用久了再慢慢了解。
    官方Github插件主题列表
    非官方contrib贡献插件列表
    非官方贡献版插件更多更容易安装些,因为可以一次都装上,要用哪个再开启哪个。
    安装命令:
    conda install -c conda-forge jupyter_contrib_nbextensions
    运行后可能稍等一下才有反应,根据提示按y。
    然后再启用,比如启用collapsible_headings:
    jupyter nbextension enable collapsible_headings/main
    注意/main是必须的。
    collapsible_headings插件可以让Notebook把一个cell折叠起来,在cell菜单下出现insert head cell字样:

     
    Jupyter-NoteBook-你应该知道的N个小技巧第11张
    image.png

    这个插件在JupyterLab下面好像不能用。不过Lab自身就可以双击折叠一个cell,比这个更方便些。

    collapsible_headings/main其实是指文件夹collapsible_headings下的main.js文件。所有可用的文件夹名称都可以在电脑里搜索nbextensions文件夹找到。苹果电脑的位置类似/anaconda3/pkgs/jupyter_contrib_nbextensions-0.5.0-py36_0/lib/python3.6/site-packages/jupyter_contrib_nbextensions/nbextensions
    JupyterNoteBook的插件本质都是NodeJs的npm插件。如果你了解nodejs那么很容易搞明白它的原理。

  13. 格式化自动美化代码

    代码整齐很重要!
    对于Python来说混乱的代码格式可能是致命的!
    这里介绍安装code-pretty自动格式化插件,先执行命令开启:
    jupyter nbextension enable code_prettify/code_prettify
    依照官方说明还需要执行另外一个命令安装必要的第三方功能模块:
    conda install yapf
    然后就可以看到Notebook如下图出现一个小锤头工具。点击它就能把当前cell的代码自动格式化变整齐了,也可以使用快捷键Ctrl+L(苹果下也是ctrl不是Command)。

     
    Jupyter-NoteBook-你应该知道的N个小技巧第12张
    image.png
  14. ?输出帮助提示

    比如下图:


     
    Jupyter-NoteBook-你应该知道的N个小技巧第13张
    image.png
  15. 运行或载入外部Python文件

    使用%run代码可以直接外部的执行.py文件,比如在Notebook文件夹内有一个a.py文件:

    aa='haha'
    print(aa)
    

    那么可以用下面代码直接在Notebook内运行它(注意这里的./表示在同一文件夹下)

    %run ./a
    print('>>'+aa)
    
     
    Jupyter-NoteBook-你应该知道的N个小技巧第14张
    image.png

    如果使用%load则直接把代码读进来(下面是%load ./a运行的结果):
     
    Jupyter-NoteBook-你应该知道的N个小技巧第15张
    image.png
  16. 公式编辑器LaTeX

    Notebook的Markdown单元是支持LateX公式编辑的,比如输入\( P(A mid B) = frac{P(B mid A) \, P(A)}{P(B)} \)运行得到下图:

     
    Jupyter-NoteBook-你应该知道的N个小技巧第16张
    image.png

    关于LaTeX语法可以在简书里搜索。
  17. 可以保存为.py或pdf文件

    file菜单可以保存为多种格式。

免责声明:文章转载自《Jupyter-NoteBook-你应该知道的N个小技巧》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【uoj#228】基础数据结构练习题 线段树+均摊分析Winwos server2008 IE安全级别设置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OpenStack Nova虚拟机创建流程解析

https://yikun.github.io/2017/09/27/OpenStack-Nova%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%88%9B%E5%BB%BA%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90/ 1. 概述 Nova是OpenStack中处理计算业务(虚拟机、裸机、容器)的组件,整体的虚拟...

jupyter notebook 修改默认文件夹

这两天在学习使用jupyter notebook,一开始打开的文件夹在个人文档下面,然而我自己编程的程序都放在C盘另一个文件夹下,于是开始找如何修改jupyter的默认文件夹。 首先,打开cmd输入jupyter notebook --generate-config 系统会反馈默认文件夹路径。 在.jupyter文件夹下,有一个文件名为jupyter_n...

对CCLE数据库可以做的分析--转载

转载:http://www.bio-info-trainee.com/1327.html 收集了那么多的癌症细胞系的表达数据,拷贝数变异数据,突变数据,总不能放着让它发霉吧! 这些数据可以利用的地方非常多,但是在谷歌里面搜索引用了它的文章却不多,我挑了其中几个,解读了一下别人是如何利用这个数据的,当然,主要是用那个mRNA的表达数据咯! 第一篇:http:...

JAVA poi设置单元格背景颜色

import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.user...

windows 安装使用jupyter及 基础配置

jupyter 是什么Jupyter Notebooks 是一个交互式笔记本,支持运行 40 多种编程语言,它的本质是一个 开源的 Web 应用程序,我们可以将其用于创建和共享代码与文档,他可以支持实时代码,数学方程,可视化和 markdown。Jupyter Notebooks提供了一个环境,让你可以无需离开这个环境,就可以在其中编写你的代码、运行代码、...

不安装office的情况下如何实现对excel的导入导出

答: 方法一、对于07/10及以后的版本,可以采用openxml sdk,因为07/10都是open xml标准的,利用open xml sdk可以不用安装office而对office文件进行操作。而且速度快。 若03不安装office,可以使用NPOI 。 可以考虑将数据发送到服务端,从服务端生成excel文件,然后再传输会客户端。这样客户端就不需要安装...