使用 Nbviewer ,体验更顺畅!(Github中部分锚点失效,且加载较慢)
jupyter是一款以浏览器为基础的在线交互式代码编辑器。其轻便、强交互、可展示的特性和活跃的社区给人以无限的遐想。
本篇教程即通过jupyter notebook 编写。
Jupyter在一定程度上反映了数据科学生态圈的现在,预测了数据科学生态圈的未来。
jupyter的以下优点让频繁与数据打交道的你不得不认真思考是否入坑:
-
多语言支持:
jupyter = ju(lia) + pyt(hon) + r
jupyter 即意味着多语言支持。更妙的是,jupyter可以在同一文件中支持多语言,让你能左手Python右手R地完成工作。 -
强交互性:
jupyter让你实时掌控你的数据流。在数据工作者的工作中,有大量的数据探索、数据清洗工作。在同一个.ipynb文件中,所有cell共享变量空间,这意味着你可以写一行代码,运行一下结果,一步一步地完成工作。 -
jupyter + 服务器:
jupyter实际上就是一个网络app。搭建自己的jupyter服务器,让它在后台挂起,你便可以随时随地随意地使用服务器强大的资源,你甚至可以在手机上监控并编写你的程序! -
轻量级,强定制:
使用过许多大型的IDE后,我越来越讨厌大而全的IDE,反而喜欢轻巧自由的编辑器。jupyter就是这样一款编辑器。随开随用,关闭也不妨碍在后台运行程序(与服务器结合)。
网页的形式时时冲击你的想象。你无法想象富媒体的网页可以让数据可视化、汇报文档变得多么有活力!尤其当你会一些前端知识时! -
魔法:
还有很多tips值得你发掘。
这里仅举最常用的:兼容latax、兼容Markdown、兼容40余种编程语言、可以当做命令行直接与服务器交互...
当然,作为仍在快速迭代发展的项目,jupyter确实有一些缺点。
如强烈依赖网络环境(与服务器结合),有难免的网络延迟(与服务器结合),有难免的网页渲染时间,代码提示和补全功能有些简陋,偶尔kernel抽筋等等。
但瑕不掩瑜,相对jupyter的明显优点,这都不是问题!
喜不喜欢,不试试怎么能知道呢?
Have a try! https://try.jupyter.org/
- 搭建自己的jupyter服务器(Ubuntu环境)
- 学习使用jupyter的基本操作
- 学习使用基于jupyter的拓展
jupyter 官网 http://jupyter.org/
jupyter 官网教程 http://jupyter.org/documentation
ipython Cookbook https://github.com/ipython/ipython/wiki/Cookbook%3A-Index
jupyter basic https://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/Notebook%20Basics.html
jupyter kernels https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
ipython tutorial http://nbviewer.jupyter.org/github/ipython/ipython/blob/4.0.x/examples/IPython%20Kernel/Index.ipynb
A gallery of interesting Jupyter Notebooks https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks
nbextensions http://jupyter-contrib-nbextensions.readthedocs.io/en/latest/index.html
装扮你的Jupyter https://zhuanlan.zhihu.com/p/26739300?group_id=843868091631955968
Jupyter Notebook的27个秘诀,技巧和快捷键 https://www.zybuluo.com/hanxiaoyang/note/534296