jupyter入门

  • 基本操作
    • 以In[ ]开头表示这是一个代码单元。在代码单元里,你可以输入任何代码并执行。例如,键盘输入1+2,然后按“Shift+Enter”,代码将被运行,并显示结果。同时,切换到新的cell中。
    • 你也可以手动添加cell,在insert->insert cell above/below
    • 添加markdown并预览:
      • 添加一个新行,cell->cell type 设置为markdown
      • 要进行预览,直接点击运行或者“shift+enter”
    • 重命名:file->rename
  • 快捷键
    • 如果你在cell的编辑状态[边框颜色为绿色],需要按Esc退出,在执行快捷键
    • H按键可以呼出快捷键列表
    • P键查找命令并执行
    • 如果不行可以在Help->keyboard shortcuts
    • Esc + F 在代码中查找、替换,忽略输出。
    • Esc + O 在cell和输出结果间切换。
    • 选择多个cell:
      • Shift + J 或 Shift + Down 选择下一个cell。
      • Shift + K 或 Shift + Up 选择上一个cell。
      • 一旦选定cell,可以批量删除/拷贝/剪切/粘贴/运行。当你需要移动notebook的一部分时这个很有用。
    • Shift + M 合并cell.
  • 变量显示
    • 有一点已经众所周知。把变量名称或没有定义输出结果的语句放在cell的最后一行,无需print语句,Jupyter也会显示变量值。当使用Pandas DataFrames时这一点尤其有用,因为输出结果为整齐的表格。
    • 鲜为人知的是,你可以通过修改内核选项ast_note_interactivity,使得Jupyter对独占一行的所有变量或者语句都自动显示,这样你就可以马上看到多个语句的运行结果了。
    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"
    
    • 如果你想在各种情形下(Notebook和Console)Jupyter都同样处理,用下面的几行简单的命令创建文件~/.ipython/profile_default/ipython_config.py即可实现:
    c = get_config()
    # Run all nodes interactively
    c.InteractiveShell.ast_node_interactivity = "all"
    
    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"
    from pydataset import data
    quakes = data('quakes')
    quakes.head()
    quakes.tail()
    
  • 查看文档
    • 在Help 菜单下,你可以找到常见库的在线文档链接,包括Numpy,Pandas,Scipy和Matplotlib等。
      另外,在库、方法或变量的前面打上?,即可打开相关语法的帮助文档。
    ?str.replace()
    
  • Jupyter Magic命令
    • 文档
    • Jupyter Magic-%env:设置环境变量:%env OMP_NUM_THREADS=4
    • Jupyter Magic - %run: 运行python代码,%run 可以运行.py格式的python代码——这是众所周知的。不那么为人知晓的事实是它也可以运行其它的jupyter notebook文件,这一点很有用。 %run ./test.ipynb
    • Jupyter Magic -%load:从外部脚本中插入代码,加载一个文件,使之成为当前cell的内容 比如:%load ./hello_world.py
    • Jupyter Magic - %store: 在notebook文件之间传递变量,存:%store 变量名,取:%store -r 变量名
    • Jupyter Magic - %who: 列出所有的全局变量,后面加类型比如str就能列出所有str类型的全局变量
    • Jupyter Magic – 计时, %%time 和 %timeit.当你有一些很耗时的代码,想要查清楚问题出在哪时,这两个命令非常给力。 %%time 会告诉你cell内代码的单次运行时间信息。%%timeit 使用了Python的 timeit 模块,该模块运行某语句100,000次(默认值),然后提供最快的3次的平均值作为结果。
      • %%time
        • 输入
        In [4]: %%time
                import time
                for _ in range(1000):
                    time.sleep(0.01)# sleep for 0.01 seconds
        
        • 输出:
        CPU times: user 21.5 ms, sys: 14.8 ms, total: 36.3 ms
        Wall time: 11.6 s
        
      • %%timeit
        • 输入
        In [3]: import numpy
                %timeit numpy.random.normal(size=100)
        
        • 输出
        The slowest run took 7.29 times longer than the fastest. This could mean that an intermediate result is being cached.
        100000 loops, best of 3: 5.5 µs per loop
        
        
    • Jupyter Magic - %%writefile and %pycat:导出cell内容/显示外部脚本的内容,使用%%writefile filename可以保存cell的内容到外部文件。 而%pycat功能相反,把外部文件语法高亮显示(以弹出窗方式)。
    • Jupyter Magic - %prun: 告诉你程序中每个函数消耗的时间,%prun some_useless_slow_function()
    • Jupyter Magic –用%pdb调试程序
  • 运行Shell命令:!ls *.py列出所有的py文件
  • 用LaTex 写公式:[等会,简书支持科学公式了????]
    • 行内公式:P(A \mid B) = \frac{P(B \mid A) , P(A)}{P(B)}
    • 独占一行:P(A \mid B) = \frac{P(B \mid A) , P(A)}{P(B)}
  • 执行shell命令
!ls
  • 在jupyter里作图
    • matplotlib (事实标准),可通过%matplotlib inline 激活,详细链接
    • matplotlib notebook 提供交互性操作,但可能会有点慢,因为响应是在服务器端完成的。
    • mpld3 提供matplotlib代码的替代性呈现(通过d3),虽然不完整,但很好。
    • bokeh 生成可交互图像的更好选择。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容