【Python教程】如何使用Jupyter Notebook

news2024/9/28 9:23:17

Jupyter Notebook 是一个基于 Web 的交互式计算环境,支持 Python、R、Julia 等多种编程语言。它是数据科学家、分析师和研究人员的常用工具。Jupyter Notebook 提供了一个强大的用户界面,可以通过笔记本格式进行代码编写、运行、调试、可视化和文档化。

一、Jupyter Notebook 的安装

  1. 使用 Anaconda 安装 Anaconda 是一个包含了众多科学计算包的 Python 发行版,其中包括了 Jupyter Notebook。安装步骤如下:

    • 下载 Anaconda 安装包:Anaconda官网
    • 按照安装向导完成安装。
    • 打开 Anaconda Navigator,并点击 Jupyter Notebook 启动它。
  2. 使用 pip 安装 如果你已经安装了 Python,可以使用 pip 来安装 Jupyter Notebook:

pip install notebook

二、启动 Jupyter Notebook

安装完成后,可以通过以下命令启动 Jupyter Notebook:

jupyter notebook

执行该命令后,会自动打开默认浏览器并加载 Jupyter Notebook 主界面。你也可以在浏览器中输入 http://localhost:8888 访问它。

三、Jupyter Notebook 界面介绍

Jupyter Notebook 的界面主要分为以下几个部分:

  1. Notebook Dashboard 这是 Jupyter Notebook 的主界面,显示了当前目录中的所有文件和文件夹。你可以在这里创建新的笔记本、打开现有笔记本或管理文件。

  2. Notebook 界面 打开一个笔记本后,进入代码编辑界面。主要由以下几个部分组成:

    • 菜单栏:包含 File、Edit、View、Insert、Cell、Kernel、Widgets、Help 等选项。
    • 工具栏:提供一些常用操作的快捷按钮,例如保存、添加新单元格、剪切、粘贴、运行单元格等。
    • 单元格区域:主要的编辑区域。单元格有三种类型:代码单元格(Code Cell)、Markdown 单元格(Markdown Cell)和原始单元格(Raw Cell)。

四、单元格类型和操作

1、代码单元格 代码单元格用于编写和运行代码。可以通过 Shift + Enter 运行代码单元格,运行结果会显示在单元格下方。

print("Hello, Jupyter Notebook!")

2、Markdown 单元格 Markdown 单元格用于编写富文本,支持 Markdown 语法,可以用来写说明文档、标题、列表、表格等。

# 这是一级标题
## 这是二级标题
- 这是一个列表项

3、原始单元格 原始单元格不执行代码,也不渲染 Markdown,通常用于保留原始文本或数据。

五、常用快捷键

Jupyter Notebook 提供了许多快捷键,极大地提高了工作效率。以下是一些常用的快捷键:

  • Enter:进入编辑模式
  • Esc:退出编辑模式
  • Shift + Enter:运行当前单元格并跳转到下一个单元格
  • Ctrl + Enter:运行当前单元格
  • Alt + Enter:运行当前单元格并在下方插入一个新单元格
  • B:在下方插入新单元格
  • A:在上方插入新单元格
  • D, D:删除选中的单元格
  • Z:撤销删除单元格
  • M:将单元格类型转换为 Markdown
  • Y:将单元格类型转换为代码

六、Jupyter Notebook 的魔法命令

Jupyter Notebook 提供了一些特殊的命令,称为魔法命令(Magic Commands),用于简化一些常见操作。这些命令分为两类:行魔法(Line Magic)和单元魔法(Cell Magic)。

1、行魔法 行魔法以 % 开头,作用于单行代码。例如:

%timeit x = [i for i in range(1000)]

2、单元魔法 单元魔法以 %% 开头,作用于整个单元格。例如:

%%timeit
x = [i for i in range(1000)]
y = [i**2 for i in range(1000)]

七、数据可视化

Jupyter Notebook 支持多种数据可视化库,如 Matplotlib、Seaborn、Plotly 等。以下是一个简单的示例,使用 Matplotlib 进行数据可视化:

import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 创建图形
plt.figure(figsize=(10, 5))
plt.plot(x, y, label='Sine Wave')
plt.title('Simple Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.legend()
plt.show()

八、Jupyter Notebook 扩展

Jupyter Notebook 有许多扩展(Extensions),可以通过 nbextensions 安装和管理。常用的扩展包括代码折叠、表格编辑器、变量检查器等。

安装 nbextensions:

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

安装后,可以在 Jupyter Notebook 的菜单中找到 Nbextensions 选项卡,启用或禁用所需的扩展。

九、Jupyter Notebook 与 Git 集成

Jupyter Notebook 文件(.ipynb)是 JSON 格式,直接在 Git 中查看会比较困难。可以使用 nbdime 工具来比较和合并 Jupyter Notebook 文件。

安装 nbdime:

pip install nbdime

配置 Git 使用 nbdime:

nbdime config-git --enable

十、Jupyter Notebook 的进阶用法

1、使用 ipywidgets 进行交互 ipywidgets 库允许在 Jupyter Notebook 中创建交互式控件,如滑块、按钮、文本框等。例如:

import ipywidgets as widgets
from IPython.display import display

slider = widgets.IntSlider(value=5, min=0, max=10, step=1, description='Number:')
display(slider)

def on_change(change):
    print(f"Slider value: {change['new']}")

slider.observe(on_change, names='value')

2、集成 SQL 查询 可以使用 ipython-sql 扩展来在 Jupyter Notebook 中运行 SQL 查询:

pip install ipython-sql

在笔记本中加载扩展并运行查询:

%load_ext sql
%sql sqlite:///:memory:
%sql CREATE TABLE test (a INT, b TEXT);
%sql INSERT INTO test VALUES (1, 'Hello'), (2, 'World');
%sql SELECT * FROM test;

Jupyter Notebook 是一个功能强大且灵活的工具,广泛应用于数据科学、教学、研究等领域。Jupyter Notebook 的强大之处在于其扩展性和社区支持,建议深入探索和利用各种扩展和工具,提高工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DREAMLLM: SYNERGISTIC MULTIMODALCOMPREHENSION AND CREATION

发表时间:arXiv 2024年5月15日 论文链接:https://arxiv.org/pdf/2309.11499 作者单位:Xi’an Jiaotong University Motivation:本文介绍了 DREAMLLM,这是一个学习框架,首先实现了多功能多模态大型语言模型 …

Java IO.字符集,流,缓冲流 转换流 对象操作流

一.字符集 如果使用字节流 , 把文本文件中的内容读取到内存时, 可能会出现乱码 如果使用字节流 , 把中文写入文本文件中 , 也有可能会出现乱码 读取n.txt"你好" 两个汉字 字节流读中文,每次只能读一部分所以出现了乱码 字符集(Character se…

美股:Nvidia的新一代AI芯片Blackwell或因设计缺陷推迟上市

设计缺陷影响推出时间 据知情人士透露,全球领先的芯片制造商Nvidia计划推出的最新人工智能(AI)芯片Blackwell可能面临长达三个月甚至更长的推迟。这一变动可能会影响到Nvidia的多位重要客户,包括Meta、谷歌和微软等,这些客户已订购了总值数百…

Datawhale AI 夏令营 从零入门 AI for Science(AI + 经济)

1.在TASK3中虽然给出了时间序列挖掘加融合模型的方法预测price,但是并不能识别到负电价的情况。查看TASK3给出的代码的预测结果可以发现模型几乎不会预测出负数,这和实际情况是有差别的。 2.利用爬虫爬取天气信息与风电信息绘制热力图 惊人的发现price和…

【MATLAB源码】数学建模基础教程(2)--层次分析法(评价类算法)

系列文章目录在最后面,各位同仁感兴趣可以看看! 层次分析法 引言一、层次分析法的特点二、模型的建立求解过程 (1)问题的提出:实际问题的转化(2)建立层次结构模型(3)构造判断(成对比较)矩阵(4)一致性检验:三、层次分析法的优点与…

【无所从来,亦无所去】纪念去世的奶奶和外公「纪念网页」

大家好,我是DX3906 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘大前端领域、真诚分享知识与智慧的小天地!🎇 纪念 2024年 奶奶 85岁、 外公83岁。他们俩分别在今年的2月份和7月份离开了。 时光倒流,奶…

美股:巴菲特减持苹果股份

财报亮点 伯克希尔哈撒韦发布的2024年第二季度财报显示,公司营收达936.53亿美元,略高于市场预期的910.9亿美元。净利润为303.48亿美元,其中投资收益占据一大比例,较去年同期的359.12亿美元有所下降,但远超市场预期的17…

JNPF全新V5.0版本!重磅升级——其他升级优化篇

尊敬的JNPF用户们: 我们非常高兴地宣布,经过团队数月的辛勤努力和不断的技术创新,JNPF快速开发平台终于迎来了里程碑式的全新升级——V5.0版本!这一版本的更新发布,不仅代表着我们技术实力的进一步提升,是…

Golang死锁vs操作系统死锁

目录 一、死锁 二、Golang死锁场景 2.1 重复上锁 2.2 不会减少的 WaitGroup 2.3 空select 2.4 channel 一、死锁 1.golang中死锁的触发条件: 死锁是当 Goroutine 被阻塞而无法解除阻塞时产生的一种状态。 2.操作系统死锁: 发生死锁时,线…

如何在2024年成为PDF合并文件高手?试试这3款软件!

在这个数字化的年代,PDF文件早就成了我们工作学习时的老朋友了。不过,要是碰上一堆PDF文件要合并,是不是觉得挺头疼的?别急,今天我们就来聊聊2024年怎么变成合并PDF的大佬,还给你推荐三款特别实用的软件&am…

【从零开始一步步学习VSOA开发】运行hellovsoa

运行hellovsoa 和所有编程技术的首个程序一样,我们先创建、编译、部署、运行一个最简单的示例程序: hellovsoa。 创建 base 工程 需要先创建一个 workspace 工作目录,然后在 workspace 里先新建 base 工程。 打开 RealEvo-IDE&#xff0c…

BPM(业务流程管理):提升企业效率的关键

在现代企业中,业务流程管理(BPM)已成为提升效率和优化运营的关键工具。随着企业环境的不断变化和竞争的加剧,越来越多的组织开始关注如何通过有效的BPM实践来提升业务表现。本文将探讨BPM的基本概念、实施策略以及如何通过BPM实现…

Java并发中的死锁四大条件与避免策略

Java并发中的死锁四大条件与避免策略 1、死锁是啥?2、死锁的四大条件3、避免死锁的策略 💖The Begin💖点点关注,收藏不迷路💖 1、死锁是啥? 死锁就像是几个朋友在聚会时,每个人都想和别人手里的…

你的财富正在被一个叫做通货膨胀的怪兽给吞噬掉,你却浑然不觉。

据统计,2024年全球总体通货膨胀率预计达到5.8%,这意味着:你的财富正在被一个叫做通货膨胀的怪兽给吞噬掉,你却浑然不觉。 数据来源:国际货币基金组织 如何跑赢通货膨胀? 家庭财富的积累速度,要…

[Git][分支管理][下]详细讲解

目录 1.合并冲突2.分支管理策略3.分支策略1.基本原则2.bug分支3.删除临时分支 1.合并冲突 在实际分⽀合并的时候,有时候可能会遇到代码冲突的问题,例如: dev分支在写一部分代码,而master分支也没闲着,也在写着同一份代…

MATLAB指针读数识别系统

前言 ①经过在工厂的实地测试,图像采集与传输装置可以正常工作,电脑端可以接收到清晰的图像,并且整个系统具有一定的的抗干扰的能力,在嘈杂的环境中亦可以实现其功能。 ②通过matlab可实现图片的预处理以及指针识别读数识别&…

MySQL笔记(三):修改表

##注:需要在cmd管理员命令行链接mysql再打开sqlyog 一、基本介绍 二、CRUD([create][read][update][delete],增删改查)语句 1、insert语句 (添加数据) insert into table_name(第一项,第二项&#xff0…

LeetCode(力扣)数组篇 JAVA刷题详解

1 简介 是不是有许多小伙伴在刷力扣的时候感觉无从下手?从头按顺序开始刷的童鞋们可能会比较有感触,为什么才第四题就感觉很难了?没关系,本文将对力扣的 1-500 题中不需要会员的数据结构与算法题目(数据库与 shell 除外)进行分类&#xff0…

Linux网络编程之dpdk的环境配置详解

文章目录 一、dpdk是什么?二、dpdk的环境配置多队列网卡是什么?怎么判断是否为多队列网卡?怎么修改成多队列网卡?修改内存配置,使其支持hugepage(巨页)下载dpdk编译dpdk 一、dpdk是什么? DPDK(…

用苹果Vision Pro隔空操控机器人,英伟达:「人机合一」也不难嘛

昨日,英伟达创始人黄仁勋在 SIGGRAPH 2024 Keynote 演讲中讲到了其人形机器人通用基础模型「Project GR00T」。该模型在功能上迎来了一系列更新。 德克萨斯大学奥斯汀分校助理教授、英伟达高级研究科学家朱玉可发推,在视频中演示了英伟达如何将通用家务机器人大规模仿真训练…