交互编程工具之——Jupyter
Jupyter 是什么?
Jupyter 是一个开源的交互式编程和数据分析工具,广泛应用于数据科学、机器学习、教育和研究领域。其核心是 Jupyter Notebook(现升级为 JupyterLab),允许用户在一个基于浏览器的界面中编写代码、运行代码、可视化结果,并添加富文本(如 Markdown)进行说明,形成可重复、可分享的文档。
Jupyter核心特点
- 交互式编程
- 支持逐行或分块执行代码,实时查看结果(如图表、表格、文本等)。
- 特别适合探索性数据分析(EDA)和快速原型开发。
- 多语言支持
- 原生支持 Python(最常用),通过安装内核(kernel)可扩展至 R、Julia、Scala、JavaScript 等 40+ 种语言。
- 富文本与可视化
- 支持 Markdown、LaTeX、HTML 编写文档,结合代码和说明(如数学公式、图片)。
- 集成 Matplotlib、Plotly、Bokeh 等可视化库,直接显示图表。
- 跨平台与云端集成
- 可在本地或远程服务器运行,支持 Docker 部署。
- 与 Google Colab、Kaggle Notebooks、JupyterHub 等云端平台无缝衔接。
主要应用场景
- 数据分析与可视化
清洗数据、生成统计图表、探索数据模式。 - 机器学习与模型开发
训练模型、调参、实时验证结果。 - 教育与协作
创建教学材料,分享可交互的代码示例。 - 学术研究
记录实验过程,生成可复现的研究报告。
Jupyter 的核心组件
- Jupyter Notebook
- 经典的单文档界面,适合简单项目。
- JupyterLab
- 新一代集成开发环境(IDE),支持多标签页、文件管理、终端、调试器等模块化布局。
- JupyterHub
- 多用户服务,用于团队或教育机构的集中管理(如大学课程)。
基本使用步骤
- 安装
pip install jupyterlab # 安装 JupyterLab
- 启动
jupyter lab # 启动 JupyterLab
- 创建 Notebook
- 选择内核(如 Python)并新建 Notebook(
.ipynb文件)。 - 编写代码块(Cell)或 Markdown 文本,按
Shift+Enter执行。
- 选择内核(如 Python)并新建 Notebook(
扩展功能
- 插件系统:通过扩展(如
jupyter_contrib_nbextensions)添加目录、代码折叠等功能。 - Magic 命令:使用
%或%%开头的特殊命令(如%matplotlib inline显示图表)。 - 导出格式:支持导出为 HTML、PDF、LaTeX、Markdown 或幻灯片(Reveal.js)。
优势与不足
- 优点:
直观的交互式开发,适合快速迭代;文档与代码结合,方便协作和展示。 - 不足
不适合大型项目(需结合 IDE 使用);调试功能较弱。
Jupyter Notebook(交互笔记本) 快速实战
简单来说, Jupyter Notebook 的作用就是你不需要在IDE编写代码和运行, 而可以直接在网页上编写代码并运行, 这个网页除了代码之外,还可以记录一些其他的文字,类似于一个包含文字和代码的笔记,但是这些代码是可以直接运行的。
接下来进入实际操作环节。以下是一个快速上手的 Jupyter Notebook 示例教程,涵盖安装、基础操作和常用功能:
在此之前,环境需要先安装Python。
1. 安装 Jupyter Notebook
# 使用 pip 安装
pip install jupyter
# 或使用 conda(需先安装 Anaconda/Miniconda)
conda install jupyter

这里直接安装, 使用conda 的部分可以参考:AI开发之 ——Anaconda 介绍
安装需要等待一段时间,
2. 启动 Jupyter Notebook
安装完成之后,就可以使用如下命令启动:
# 在终端输入以下命令,浏览器会自动打开
jupyter notebook

3. 界面导览
启动之后,会自动打开一个浏览器窗口, 如需要手动通过复制link 打开窗口,则可以在控制台找到对应的link ,比如:
http://localhost:8888/tree?token=c6b84e8419bf7993479541dd2a2dfed9db1011af057c6253
这里的Token 是出于安全的考量。

打开后的页面如下:

- 主界面:文件管理页面,可创建/打开
.ipynb文件。 - 新建 Notebook:点击右上角
New→ 选择Python 3(或其他内核)。 - 单元格(Cell):代码或文本的编辑单元,支持运行和切换类型。
4. 基本操作示例
示例 1:运行 Python 代码
# 在单元格中输入代码,按 Shift+Enter 运行
print("Hello Jupyter!")

输出:
Hello Jupyter!

示例 2:Markdown 文本
# 这是一个标题
- 列表项 1
- 列表项 2
5. 保存与导出
- 保存:点击工具栏保存图标(或
Ctrl+S)。 - 导出:通过
File → Download as导出为.ipynb、.html、.pdf等格式。
注意事项
- 快捷键:使用
Esc和Enter切换命令/编辑模式,Ctrl+Enter运行单元格。
参考资源
- 官方文档:jupyter.org
- 示例库:Jupyter Notebook Gallery
- 在线平台:Google Colab
Jupyter 是数据科学家的“瑞士军刀”,将代码、文档和可视化整合在一个界面中,极大提升工作效率和可复现性! 🚀
、
相关文章:
交互编程工具之——Jupyter
Jupyter 是什么? Jupyter 是一个开源的交互式编程和数据分析工具,广泛应用于数据科学、机器学习、教育和研究领域。其核心是 Jupyter Notebook(现升级为 JupyterLab),允许用户在一个基于浏览器的界面中编写代码、运行…...
微信小程序客服消息接收不到微信的回调
微信小程序客服消息,可以接收到用户进入会话事件的回调,但是接收不到用户发送消息的回调接口。需要在微信公众平台,把转发消息给客服的开关关闭。需要把这个开关关闭,否则消息会直接发送给设置的客服,并不会走设置的回…...
easyexcel 2.2.6版本导出excel模板时,标题带下拉框及其下拉值过多不显示问题
需求背景:有一个需求要做下拉框的值有100多条,同时这个excel是一个多sheet的导入模板 直接用easyexcel 导出,会出现下拉框的值过多,导致生成出来的excel模板无法正常展示下拉功能 使用的easyexcel版本:<depende…...
影视大数据分析新范式:亮数据动态代理驱动的实时数据采集方案
一、项目背景与挑战 在数据驱动决策的时代,影视数据分析对内容平台至关重要。但豆瓣等平台设有: 高频请求IP封禁机制User-Agent指纹检测请求频率阈值控制验证码验证系统 传统爬虫方案面临: 单一IP存活时间<5分钟采集成功率<30%数据更新…...
免费体验,在阿里云平台零门槛调用满血版DeepSeek-R1模型
一、引言 随着人工智能技术的飞速发展,各类AI模型层出不穷。其中,DeepSeek作为一款新兴的推理模型,凭借其强大的技术实力和广泛的应用场景,逐渐在市场中崭露头角。本文将基于阿里云提供的零门槛解决方案,对DeepSeek模…...
ok113i平台——多媒体播放器适配
1. 视频播放支持 1.1 在Linux平台交叉编译ffmpeg动态库,详情查看《ok113i平台——交叉编译音视频动态库》 提取如下动态库: libavcodec.so.58.134.100 libavdevice.so.58.13.100 libavfilter.so.7.110.100 libavformat.so.58.76.100 libavutil.so.56.…...
使用Python中的`gensim`库构建LDA(Latent Dirichlet Allocation)模型来分析收集到的评论
下面为你详细介绍如何使用Python中的gensim库构建LDA(Latent Dirichlet Allocation)模型来分析收集到的评论。LDA是一种主题模型,它可以将文档集合中的文本按照主题进行分类。 步骤概述 数据预处理:对收集到的评论进行清洗、分词…...
23种设计模式 - 策略模式
模式定义 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列可互换的算法,并将每个算法封装成独立类,使得算法可以独立于客户端变化。该模式的核心思想是解耦算法的定义与使用,适用于需要动…...
Cursor 与团队协作:提升团队开发效率
引言 在团队开发中,代码质量参差不齐、重复错误频发、代码审查耗时过长是制约效率的三大痛点。据 GitHub 调查,开发者平均每周花费 4.3 小时修复他人代码问题,而 60% 的合并请求(PR)因风格或低级错误被驳回。Cursor 作…...
QT qbytearray转qString
qbytearray转qString 在Qt框架中,QByteArray和QString是常用的数据类型,它们用于处理不同类型的字符串数据。QByteArray用于存储原始字节数据,而QString用于存储Unicode字符串。在某些情况下,你可能需要将QByteArray转换为QStrin…...
激光工控机在自动化生产线中有什么关键作用?
激光工控机作为自动化生产线的核心设备,通过高精度控制、快速响应和智能化集成,在提升效率、保障质量、实现柔性制造等方面发挥着不可替代的作用。以下是其关键作用的具体分析: 一、实现高效连续生产: 1.高速加工能力࿱…...
深度解析应用层协议-----HTTP与MQTT(涵盖Paho库)
HTTP协议概述 1.1 HTTP的基本概念 HTTP是一种应用层协议,使用TCP作为传输层协议,默认端口是80,基于请求和响应的方式,即客户端发起请求,服务器响应请求并返回数据(HTML,JSON)。在H…...
Kubernetes的Ingress和Service有什么区别?
在Kubernetes中,Ingress和Service是两个不同的概念,它们在功能、作用范围、应用场景等方面存在明显区别,具体如下: 功能 Ingress:主要用于管理集群外部到内部服务的HTTP和HTTPS流量路由。它可以根据域名、路径等规则…...
WordPress“更新失败,响应不是有效的JSON响应”问题的修复
在使用WordPress搭建网站时,许多人在编辑或更新文章时,可能会遇到一个提示框,显示“更新失败,响应不是有效的JSON响应”。这个提示信息对于不了解技术细节的用户来说,太难懂。其实,这个问题并不复杂&#x…...
【回溯算法2】
力扣17.电话号码的字母组合 链接: link 思路 这道题容易想到用嵌套的for循环实现,但是如果输入的数字变多,嵌套的for循环也会变长,所以暴力破解的方法不合适。 可以定义一个map将数字和字母对应,这样就可以获得数字字母的映射了…...
【RabbitMQ业务幂等设计】RabbitMQ消息是幂等的吗?
在分布式系统中,RabbitMQ 自身不直接提供消息幂等性保障机制,但可通过业务逻辑设计和技术组合实现消息处理的幂等性。以下是 8 种核心实现方案及最佳实践: 一、消息唯一标识符 (Message Deduplication) 原理 每条消息携带全局唯一IDÿ…...
layui 远程搜索下拉选择组件(多选)
模板使用(lay-module/searchSelect),依赖于 jquery、layui.dist 中的 dropdown 模块实现(所以data 格式请参照 layui文档) <link rel"stylesheet" href"layui-v2.5.6/dist/css/layui.css" /&g…...
【开源】思维导图:思绪思维导图 (Simple Mind Map)
目录 1. 思绪思维导图 2. 本地使用 3. 在线网页 1. 思绪思维导图 思绪思维导图,英文名称为Simple mind map,简称为SSM。 开源、免费 GitHub网址 支持多平台:Windows,Mac和Linux 支持在线和离线使用 2. 本地使用 安装包下载地址…...
国产编辑器EverEdit -告别东找西找!一键打开当前文件所在目录!
1 文件操作 2 应用场景 在文件编辑过程中,有时需要对文件进行一些操作,比如:在命令窗口输入文件路径、文件名,进入到文件目录,对文件进行压缩等,如果没有直达命令,用户需要通过文件管理器找到目…...
STM32MP157A单片机移植Linux驱动
在stm32mp157a单片机移植Linux操作系统,并移植内核驱动,在应用程序中使用3个线程,分别实现控制单片机上3个led流水灯的功能、蜂鸣器控制的功能、风扇控制的功能。 需求整理: 1.驱动程序-->led1.c,led2.cÿ…...
UE引擎游戏加固方案解析
据VGinsights的报告,近年来UE引擎在过去几年中市场占比显著增长,其中亚洲市场增幅达到了30%,随着UE5的推出和技术的不断进步,UE引擎在独立开发者和移动游戏开发中的应用也在逐步增加。 UE引擎的优势在于强大的画面表现与视觉特效…...
[kubelet-check] It seems like the kubelet isn‘t running or healthy.
执行k8s时报错: [kubelet-check] It seems like the kubelet isn’t running or healthy. [kubelet-check] The HTTP call equal to ‘curl -sSL http://localhost:10248/healthz’ failed with error: Get "http://localhost:10248/heal ** 解决办法如下&a…...
C# 背景 透明 抗锯齿 (效果完美)
主要是通过 P/Invoke 技术调用 Windows API 函数 gdi32.dll/user32.dll,同时定义了一些结构体来配合这些 API 函数的使用,常用于处理图形绘制、窗口显示等操作。 运行查看效果 局部放大,抗锯齿效果很不错,尾巴毛毛清晰可见。 using System; u…...
关于uniApp的面试题及其答案解析
我的血液里流淌着战意!力量与智慧指引着我! 文章目录 1. 什么是uniApp?2. uniApp与原生小程序开发有什么区别?3. 如何使用uniApp实现条件编译?4. uniApp支持哪些平台,各有什么特点?5. 在uniApp中…...
Ubuntu编译ZLMediaKit
下载 git clone https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit git submodule update --init安装工具 sudo apt install -y build-essential sudo apt install -y gcc g sudo apt install -y cmakesudo apt install -y build-essential cmake git libssl-dev libsdl1.…...
【Java场景题】MySQL死锁排查
大家好,今天XiXi给大家分享一个MySQL死锁排查的实验,文章主要有: 通过show engine innodb status,查看最近一次死锁信息开启innodb_print_all_deadlocks,在错误日志中能够记录所有死锁信息通过解析binlog日志定位死锁…...
Nginx解决前端跨域问题
1. 理解 CORS 和同源策略 1.1 同源策略 同源策略是一种浏览器安全机制,用于阻止不同源(不同域名、协议或端口)的 Web 应用相互访问数据。它确保了 Web 应用的隔离性,防止恶意网站访问用户数据或执行不安全的操作。 同源策略下&…...
Bootstrap Blazor UI 中 <Table> 组件 <TableColumn> 使用备忘01:EF Core 外码处理
应用场景:将外码转换为对应的文本进行显示、编辑。 例如,有一个【用户】表,其中有一个【用户类型ID】字段;另有一个【用户类型】表,包含【ID】、【名称】等字段。现在要求在 <Table> 组件显示列表中,…...
LabVIEW心音信号采集与分析系统
基于LabVIEW软件的心音信号采集与分析系统能够实现心音的采集、去噪和分析。系统利用LabVIEW的强大功能和灵活性,通过模块化设计,实现了心音信号的高效处理和分析,具备深度学习和身份识别的实验能力,适用于医学和生物工程领域的研…...
python:多重继承、MRO(方法解析顺序)
在 Python 中,当类存在多重继承时,方法的调用顺序由 方法解析顺序(Method Resolution Order, MRO) 决定。 Python 使用 C3线性化算法 来确定类的继承顺序(MRO),其核心规则是: 子类优…...
