首页 > 编程开发 > python数据分析 >
-
Jupyter Notebook入门:写代码、记笔记、可视化一站式搞定
Jupyter Notebook入门:写代码、记笔记、可视化一站式搞定
18.14.1 引言:为什么Jupyter是数据分析的“神器”?
你是不是写Python脚本时总遇到这些问题?
想在代码里加详细注释,结果注释和代码混在一起,看起来乱糟糟;
运行脚本后,结果只在终端显示,想对比代码和结果还要来回切换;
做数据分析时,需要一边写代码、一边记分析思路、一边看可视化图表,用普通编辑器根本做不到。
Jupyter Notebook就是为解决这些痛点而生的交互式编程工具:
✅ 支持代码+Markdown笔记混合编写,一边写代码一边记思路,分析过程一目了然;
✅ 代码逐单元格运行,不用整个脚vb.net教程C#教程python教程SQL教程access 2010教程本从头跑,调试更方便;
✅ 可视化图表直接嵌入笔记本,不用单独保存图片;
✅ 导出为HTML/PDF/Word,直接生成数据分析报告,不用复制粘贴。
一句话:Jupyter让数据分析从“写代码”变成“写带代码的笔记”,效率直接翻倍。
18.14.2 第一步:启动Jupyter Notebook(Anaconda自带,不用单独装!)
如果你已经装了Anaconda,Jupyter Notebook是默认自带的,直接启动就行:
Windows平台启动方式
1.打开Anaconda Prompt(开始菜单里找Anaconda文件夹,里面有Anaconda Prompt);
2.输入jupyter notebook,按回车;
3.自动弹出浏览器窗口,显示Jupyter的主界面(默认地址是http://localhost:8888)。
macOS/Linux平台启动方式
1.打开终端;
2.输入jupyter notebook,按回车;
3.自动弹出浏览器窗口,进入Jupyter主界面。
图形化界面启动(新手友好)
打开Anaconda Navigator,左侧点击“Home”,找到“Jupyter Notebook”,点击“Launch”,也能启动。
18.14.3 核心操作:从“新建笔记本”到“运行代码”
-
新建第一个笔记本
1.在Jupyter主界面,点击右上角的“New”→“Python 3”(选择你的虚拟环境Python,比如之前创建的data_analysis);
2.新建的笔记本默认叫“Untitled”,点击顶部的“Untitled”,改成你喜欢的名字(比如“销售数据分析笔记”)。 -
认识Jupyter的“单元格”
Jupyter的核心是单元格(Cell),每个单元格可以是两种类型:
代码单元格:写Python代码,运行后显示结果;
Markdown单元格:写笔记、标题、列表,支持Markdown语法,运行后变成格式化的文本。
切换单元格类型
选中单元格,点击顶部工具栏的下拉框(默认是“Code”),选择“Markdown”或“Code”;
快捷键:按M切换为Markdown,按Y切换为代码单元格(先按Esc进入命令模式,再按M/Y)。 -
运行单元格(必学快捷键)
运行当前单元格:按Shift+Enter(运行后自动跳到下一个单元格);
运行当前单元格但不跳转:按Ctrl+Enter;
中断运行:如果代码跑太久(比如死循环),点击顶部工具栏的“停止”按钮(黑色方形)。
18.14.4 实战:用Jupyter做销售数据分析(代码逐行讲解)
我们用一个简单的销售数据例子,演示Jupyter的“代码+笔记+可视化”一站式流程。
第一步:写Markdown笔记(记录分析思路)
新建一个Markdown单元格,输入以下内容,按Shift+Enter运行:
markdown
# 2026年Q1销售数据分析
## 分析目标:
1. 统计各区域总销售额;
2. 分析月度销售额趋势;
3. 找出最畅销的产品。
数据说明:
数据包含日期、区域、产品、销售额、数量5个字段,共1000条记录。
运行后,会变成格式化的标题和列表,看起来像一篇文档。
第二步:写代码读取数据(逐行讲解)
新建一个代码单元格,输入以下代码,按Shift+Enter运行:
python
# 1. 导入必要的库
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 2. 读取CSV数据(如果没有外部文件,用随机数据模拟)
# 这里用Pandas生成模拟数据,不用依赖外部文件
data = {
'日期': pd.date_range(start='2026-01-01', end='2026-03-31', periods=1000),
'区域': ['华东', '华南', '华北'] * 333 + ['华东'],
'产品': ['A产品', 'B产品', 'C产品'] * 333 + ['A产品'],
'销售额': pd.np.random.randint(500, 5000, size=1000),
'数量': pd.np.random.randint(1, 10, size=1000)
}
df = pd.DataFrame(data)
# 3. 查看数据前5行
df.head()
逐行讲解:
1.import pandas as pd:导入Pandas库,简称pd(行业惯例);
2.pd.date_range(...):生成从2026-01-01到2026-03-31的1000个日期;
3.pd.np.random.randint(...):生成随机整数,模拟销售额和数量;
4.pd.DataFrame(data):把字典转换成DataFrame(Pandas的核心数据结构,类似Excel表格);
5.df.head():显示数据前5行,快速查看数据结构。
运行后,会直接在单元格下方显示一个表格,包含前5行数据,不用打印就能看到结果。
第三步:统计各区域销售额(代码+笔记)
先新建一个Markdown单元格:
markdown
## 1. 统计各区域总销售额
用Pandas的groupby函数按区域分组,求和销售额。
再新建一个代码单元格:
python
# 按区域分组,求和销售额
region_sales = df.groupby('区域')['销售额'].sum().reset_index()
region_sales
逐行讲解:
groupby('区域'):按“区域”字段分组;
['销售额'].sum():对每组的“销售额”求和;
reset_index():把分组后的结果转换成普通DataFrame,方便后续可视化。
运行后显示结果:
区域 销售额
华东 856234
华南 832156
华北 812345
第四步:可视化月度销售额趋势
新建Markdown笔记:
markdown
## 2. 分析月度销售额趋势
先提取日期中的月份,再按月分组求和,最后用折线图可视化。
新建代码单元格:
python
# 提取月份字段
df['月份'] = df['日期'].dt.month
# 按月分组求和销售额
monthly_sales = df.groupby('月份')['销售额'].sum()
# 绘制折线图
plt.figure(figsize=(10, 6)) # 设置图表大小
sns.lineplot(x=monthly_sales.index, y=monthly_sales.values, marker='o', color='blue', linewidth=2)
plt.title('2026年Q1月度销售额趋势', fontsize=14)
plt.xlabel('月份', fontsize=12)
plt.ylabel('总销售额(元)', fontsize=12)
plt.xticks([1, 2, 3], ['1月', '2月', '3月']) # 替换X轴标签
plt.grid(True, linestyle='--', alpha=0.7) # 添加网格线
逐行讲解:
df['日期'].dt.month:从日期中提取月份(1-3);
sns.lineplot(...):用Seaborn画折线图,比Matplotlib更美观;
plt.title(...):设置图表标题和字体大小;
plt.xticks(...):把X轴的数字1/2/3换成中文“1月/2月/3月”。
运行后,直接在单元格下方显示折线图,不用写plt.show()(Jupyter会自动显示图片)。
18.14.5 基础知识拓展:Jupyter必学技巧
-
常用快捷键(提高效率)
命令模式(按Esc进入):
A:在当前单元格上方插入新单元格;
B:在当前单元格下方插入新单元格;
D+D:删除当前单元格;
Z:撤销删除;
S:保存笔记本(或者按Ctrl+S)。
编辑模式(按Enter进入):
Tab:代码自动补全(比如输入pd.re,按Tab会弹出pd.read_csv等选项);
Shift+Tab:查看函数文档(比如把光标放在pd.read_csv里,按Shift+Tab,会显示函数参数说明)。 -
导出笔记本为报告
写完分析后,导出为HTML/PDF/Word,直接分享给别人:
点击顶部菜单栏的“File”→“Download as”,选择需要的格式:
HTML:最常用,保留所有格式和图片,任何浏览器都能打开;
PDF:适合打印,需要安装LaTeX环境(如果报错,先装MikTeX或TeX Live);
Markdown:导出为Markdown文件,适合在博客或GitHub上发布。 -
在虚拟环境中使用Jupyter
默认情况下,Jupyter用的是base环境的Python,如果想在虚拟环境中使用Jupyter,需要先在虚拟环境中安装ipykernel:
激活虚拟环境:
bash
conda activate data_analysis
安装ipykernel:
bash
conda install ipykernel
把虚拟环境添加到Jupyter:
bash
python -m ipykernel install --user --name data_analysis --display-name "Python (data_analysis)"
重启Jupyter,新建笔记本时就能选择“Python (data_analysis)”环境了。
4. 调试代码:用魔法命令
Jupyter支持魔法命令(Magic Commands),比如:
%timeit:测试代码运行时间(比如%timeit df.groupby('区域')['销售额'].sum());
%load:加载外部Python脚本到单元格(比如%load sales_analysis.py);
%who:查看当前变量列表。
18.14.6 新手常见坑与解决方法
-
代码运行顺序错了,结果不对
Jupyter的单元格是按运行顺序执行的,不是按从上到下的顺序。比如你先运行了第3个单元格,再运行第1个,变量会混乱。
解决方法:点击顶部菜单栏的“Kernel”→“Restart & Run All”,重启内核并从第一个单元格开始运行。 -
忘记保存,浏览器崩溃了
Jupyter默认会自动保存(每隔120秒),但最好还是手动按Ctrl+S保存。如果浏览器崩溃,重新打开Jupyter,找到对应的笔记本,里面是自动保存的内容。 -
单元格报错“NameError: name 'df' is not defined”
说明你还没运行创建df变量的单元格,先回到前面的单元格运行,再运行当前单元格。 -
可视化图表显示不全
可以调整plt.figure(figsize=(width, height))的参数,把width和height调大,比如figsize=(12, 8)。
18.14.7 思考题
1.Jupyter Notebook和普通Python脚本(.py文件)有什么区别?分别适用于什么场景?
2.如何在Jupyter中同时写代码和记录分析思路,让报告更清晰?
3.怎么把Jupyter笔记本分享给不懂Python的同事,让他能看到分析结果和图表?
4.虚拟环境中的Jupyter和base环境的Jupyter有什么区别?什么时候需要用虚拟环境的Jupyter?
5.除了数据分析,Jupyter还能用来做什么?比如教学、机器学习实验、写技术博客。
转载请注明出处:https://www.xin3721.com/pythonNew/python49614.html










