《数据科学中的Jupyter使用指南》
1. 数据科学工作中的协作与文档需求
数据科学和科学计算是以人为中心的协作性工作,通常需要多领域专家组成的团队共同完成。很少有人能独自完成严肃的数据科学分析任务。因此,团队内部的高效沟通以及向外部相关方清晰传达分析细节至关重要。分析的可重复性与结果本身同样重要。为了满足这些需求,Jupyter项目应运而生,它是目前最流行的用于记录和分享数据科学工作的生态系统。
2. Jupyter项目概述
Jupyter项目旨在为跨多种编程语言的交互式计算开发开源软件、开放标准和服务。其核心是Jupyter Notebook架构,它是一个交互式、可执行的叙述性文档,通过浏览器中的Web应用程序实现。这个Web平台为数据科学工作提供了便利的环境,支持数据预处理、清洗、探索性分析、报告等任务,还可作为完整的开发环境,支持多种编程语言,如Julia、Python、R和Scala。
3. Jupyter架构的主要组件
Jupyter架构有三个主要组件:
- Notebook文档格式 :一种JSON文档格式,用于存储各种类型的内容,如代码、图像、视频、HTML、Markdown、LaTeX方程等,文件扩展名为.ipynb。详情见https://github.com/jupyter/nbformat 。
- 消息协议 :基于JSON负载的网络消息协议,用于Web客户端(如Jupyter Notebook)与编程语言内核进行通信。内核是在Notebook中执行实时代码的引擎,协议指定ZeroMQ或WebSockets作为传输机制