目录
-
- [第1节:数据分析环境配置------Jupyter Notebook全攻略](#第1节:数据分析环境配置——Jupyter Notebook全攻略)
- 本节学习目标
- 为什么学这个
- 核心知识点讲解
-
- [一、Python 是什么?为什么数据分析要用它?](#一、Python 是什么?为什么数据分析要用它?)
- [二、安装 Anaconda------数据分析的"全家桶"](#二、安装 Anaconda——数据分析的"全家桶")
- [三、conda 环境管理------给每个项目一个独立的"房间"](#三、conda 环境管理——给每个项目一个独立的"房间")
- [四、Jupyter Notebook------数据分析师的"交互式工作台"](#四、Jupyter Notebook——数据分析师的"交互式工作台")
-
- [什么是 Jupyter Notebook?](#什么是 Jupyter Notebook?)
- [启动 Jupyter Notebook](#启动 Jupyter Notebook)
- [创建第一个 Notebook](#创建第一个 Notebook)
- [五、Jupyter Notebook 常用快捷键](#五、Jupyter Notebook 常用快捷键)
-
- [命令模式(按 `Esc` 进入,单元格边框为蓝色)](#命令模式(按
Esc进入,单元格边框为蓝色)) - [编辑模式(点击单元格或按 `Enter` 进入,边框为绿色)](#编辑模式(点击单元格或按
Enter进入,边框为绿色))
- [命令模式(按 `Esc` 进入,单元格边框为蓝色)](#命令模式(按
- [六、魔法命令(Magic Commands)------Jupyter 的"隐藏技能"](#六、魔法命令(Magic Commands)——Jupyter 的"隐藏技能")
- [七、Jupyter Notebook 插件安装](#七、Jupyter Notebook 插件安装)
- 代码示例
-
- [示例1:用 Jupyter Notebook 完成一个完整的分析流程](#示例1:用 Jupyter Notebook 完成一个完整的分析流程)
- 示例2:魔法命令实战
- 示例3:文件读写操作
- 实战练习
-
- 练习1:环境检查
- [练习2:Jupyter Notebook 快捷键练习](#练习2:Jupyter Notebook 快捷键练习)
- 练习3:魔法命令探索
- 练习4:模拟数据分析小项目
- 本节总结
- 下一节预告
专栏导读
🌸 欢迎来到Python办公自动化专栏---Python处理办公问题,解放您的双手
🏳️🌈 个人博客主页:请点击------> 个人的博客主页 求收藏
🏳️🌈 Github主页:请点击------> Github主页 求Star⭐
🏳️🌈 知乎主页:请点击------> 知乎主页 求关注
🏳️🌈 CSDN博客主页:请点击------> CSDN的博客主页 求关注
👍 该系列文章专栏:请点击------>Python办公自动化专栏 求订阅
🕷 此外还有爬虫专栏:请点击------>Python爬虫基础专栏 求订阅
📕 此外还有python基础专栏:请点击------>Python基础学习专栏 求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
第1节:数据分析环境配置------Jupyter Notebook全攻略
本节学习目标
完成本节学习后,你将能够:
- 独立安装 Python 和 Anaconda 环境
- 理解虚拟环境的作用并熟练创建、切换环境
- 熟练使用 Jupyter Notebook 进行代码编写和运行
- 掌握 Jupyter Notebook 的常用快捷键和魔法命令
- 安装和配置常用插件,提升开发效率
为什么学这个
想象一下,你要学做饭。在正式开始之前,你需要什么?一口锅、一把刀、一个炉灶------这就是你的"厨房环境"。数据分析也是一样,在你写出第一行代码之前,必须先搭建好工作环境。
很多初学者会在环境配置上浪费大量时间:装不上库、版本冲突、路径错误......这些问题往往不是因为技术太难,而是因为方法不对。本节的目的就是帮你一次性把环境搭建好,让你后续的学习之路畅通无阻。
好消息是,有了 Anaconda 这样的"全家桶"工具,环境配置已经变得非常简单。接下来我们就一步步来完成它。
核心知识点讲解
一、Python 是什么?为什么数据分析要用它?
Python 是一种高级编程语言,由荷兰程序员 Guido van Rossum 在1989年创造。它之所以成为数据分析领域最受欢迎的语言,主要有以下几个原因:
- 语法简洁:Python 的代码读起来接近自然语言(英语),入门门槛低。比如打印一句话,Java 需要 3 行,Python 只需要 1 行。
- 生态丰富:拥有大量专门用于数据分析的库(NumPy、pandas、Matplotlib 等),这些库就像现成的"工具套装"。
- 社区活跃:遇到问题时,网上几乎总能找到解决方案。
- 通用性强:除了数据分析,Python 还可以用于 Web 开发、人工智能、自动化脚本等。
比喻:如果编程语言是汽车,Python 就像一辆自动挡的家用车------不需要你精通机械原理也能开得很好,而且油耗还低。
二、安装 Anaconda------数据分析的"全家桶"
什么是 Anaconda?
Anaconda 是一个 Python 的发行版(Distribution)。如果把标准 Python 比作"毛坯房",那 Anaconda 就是"精装房"------它不仅包含了 Python 解释器,还预装了 250+ 个常用的科学计算库,以及环境管理和包管理工具。
安装步骤
Windows 系统:
- 访问 Anaconda 官网(
https://www.anaconda.com/download) - 下载 Windows 版本的安装包(建议选择 Python 3.10 或更高版本)
- 双击安装程序,按照向导一步步安装
- 关键选项:
- 安装路径建议选择默认,或自定义到不含中文的路径
- 勾选"Add Anaconda to my PATH environment variable"(部分版本可能没有此选项,没关系,后续可以用 Anaconda Navigator 管理)
macOS 系统:
- 下载 macOS 安装包
- 双击
.pkg文件安装 - 或者使用 Homebrew:
brew install --cask anaconda
Linux 系统:
bash
# 下载安装脚本
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
# 运行安装脚本
bash Anaconda3-2024.02-1-Linux-x86_64.sh
# 按照提示完成安装
验证安装是否成功
打开命令提示符(Windows)或终端(macOS/Linux),输入:
bash
conda --version
如果显示出类似 conda 24.1.0 的版本号,说明安装成功。
bash
python --version
应该显示 Python 3.x.x :: Anaconda, Inc.。
三、conda 环境管理------给每个项目一个独立的"房间"
为什么需要虚拟环境?
假设你在做两个项目:
- 项目 A 需要 pandas 1.5 版本
- 项目 B 需要 pandas 2.0 版本
如果没有虚拟环境,两个项目共用一个 pandas,就会出现版本冲突。虚拟环境就像给每个项目分配一个独立的"房间",每个房间里的工具版本互不影响。
常用环境管理命令
bash
# 创建新环境(指定 Python 版本和环境名)
conda create -n data_analysis python=3.10
# 查看所有环境
conda env list
# 激活(进入)某个环境
conda activate data_analysis
# 退出当前环境
conda deactivate
# 删除某个环境
conda remove -n data_analysis --all
# 复制环境
conda create -n new_env --clone data_analysis
实战:创建你的第一个数据分析环境
bash
# 第一步:创建环境
conda create -n data_science python=3.10 -y
# 第二步:激活环境
conda activate data_science
# 第三步:安装核心数据分析库
conda install numpy pandas matplotlib seaborn jupyter -y
# 第四步:验证安装
python -c "import numpy; print('NumPy版本:', numpy.__version__)"
python -c "import pandas; print('pandas版本:', pandas.__version__)"
提示 :
-y参数表示自动确认,不需要手动输入y确认。
四、Jupyter Notebook------数据分析师的"交互式工作台"
什么是 Jupyter Notebook?
Jupyter Notebook 是一个基于浏览器的交互式编程环境。它的名字来源于三种核心语言:Ju lia、Pyt hon、R。
与传统编辑器不同,Jupyter Notebook 有以下特点:
- 单元格(Cell)执行:代码被分成一个个单元格,可以单独运行,方便调试
- 即时反馈:运行后立即看到结果,包括图表
- 富文本支持:可以在代码之间插入 Markdown 格式的说明文字
- 可视化友好:图表直接嵌入在 Notebook 中
比喻:如果说传统的 Python 脚本像"写一整篇作文",那么 Jupyter Notebook 就像"做一份图文混排的笔记",每个段落可以独立修改和运行。
启动 Jupyter Notebook
bash
# 确保在目标环境中
conda activate data_science
# 启动 Jupyter Notebook
jupyter notebook
运行后,浏览器会自动打开 Jupyter 界面。如果没有自动打开,复制终端中显示的 URL 到浏览器中。
创建第一个 Notebook
- 点击右上角的
New按钮 - 选择
Python 3(或你安装的内核) - 你会看到一个空的单元格,这就是你写代码的地方
在第一个单元格中输入:
python
print("Hello, Data Analysis!")
按 Shift + Enter 运行,你会看到输出结果。
五、Jupyter Notebook 常用快捷键
掌握快捷键可以大幅提升效率。以下是日常使用频率最高的快捷键:
命令模式(按 Esc 进入,单元格边框为蓝色)
| 快捷键 | 功能 | 记忆技巧 |
|---|---|---|
Shift + Enter |
运行当前单元格,跳到下一个 | 最常用,必须记 |
Ctrl + Enter |
运行当前单元格,停留在原地 | 调试时好用 |
Alt + Enter |
运行当前单元格,下方插入新单元格 | 连续写代码 |
A |
在上方插入新单元格 | Above |
B |
在下方插入新单元格 | Below |
D, D |
删除当前单元格(连按两次 D) | Double D |
Z |
撤销删除 | 撤销 |
C |
复制单元格 | Copy |
V |
粘贴单元格 | Paste |
X |
剪切单元格 | Cut |
M |
切换为 Markdown 单元格 | Markdown |
Y |
切换为代码单元格 | 恢复默认 |
L |
切换行号显示 | Line numbers |
编辑模式(点击单元格或按 Enter 进入,边框为绿色)
| 快捷键 | 功能 |
|---|---|
Tab |
代码补全 |
Shift + Tab |
查看函数帮助文档 |
Ctrl + ] |
缩进 |
Ctrl + [ |
减少缩进 |
Ctrl + A |
全选 |
Ctrl + Z |
撤销 |
Ctrl + / |
注释/取消注释 |
练习建议 :不要一次性记住所有快捷键。先记住
Shift + Enter、A、B、M这四个,用熟了再学其他的。
六、魔法命令(Magic Commands)------Jupyter 的"隐藏技能"
魔法命令是 Jupyter Notebook 特有的扩展命令,以 % 或 %% 开头。它们不是 Python 语法,而是 Jupyter 提供的"快捷方式"。
行魔法命令(%,只对当前行有效)
python
# 查看当前工作目录
%pwd
# 列出当前目录下的文件
%ls
# 查看运行时间(单行)
%time sum(range(1000000))
# 查看某个变量的类型和内存占用
x = [1, 2, 3] * 10000
%whos
# 查看已定义的变量
%who
# 清除输出
%clear
# 加载外部 Python 文件到当前单元格
# %load my_script.py
# 运行外部 Python 文件
%run my_script.py
单元魔法命令(%%,对整个单元格有效)
python
# 统计整个单元格的运行时间
%%time
total = 0
for i in range(1000000):
total += i
print(total)
# 将单元格内容写入文件
%%writefile test.py
print("这是写入文件的内容")
a = 1 + 2
# 运行 HTML
%%html
<b>这是粗体文字</b>
# 运行 Bash 命令(Linux/macOS)或 CMD 命令(Windows)
%%bash
echo "Hello from Bash"
# Windows 系统使用 %%cmd
%%cmd
dir
实用的魔法命令组合
python
# 自动重载模块(修改了外部库后不用重启 Notebook)
%load_ext autoreload
%autoreload 2
# 显示 Matplotlib 图表(嵌入在 Notebook 中)
%matplotlib inline
# 交互式图表(可缩放、平移)
%matplotlib notebook
# 查看某个函数的文档
%timeit?
# 查看魔法命令列表
%lsmagic
比喻:魔法命令就像手机的"快捷指令"------原本需要多步操作才能完成的事情,一个命令就搞定了。
七、Jupyter Notebook 插件安装
插件可以让 Jupyter Notebook 变得更加强大。最流行的插件集是 jupyter_contrib_nbextensions。
安装步骤
bash
# 安装 nbextensions 配置
pip install jupyter_contrib_nbextensions
# 安装配置到 Jupyter
jupyter contrib nbextension install --user
# 安装配置器
pip install jupyter_nbextensions_configurator
# 启用配置器
jupyter nbextensions_configurator enable --user
安装完成后,重启 Jupyter Notebook,你会看到一个新的 Nbextensions 标签页。
推荐插件
| 插件名 | 功能 | 推荐指数 |
|---|---|---|
| Table of Contents | 自动生成目录,方便导航 | 五星 |
| Variable Inspector | 实时查看所有变量 | 五星 |
| ExecuteTime | 显示每个单元格的运行时间 | 四星 |
| Highlight selected word | 高亮选中的词语 | 三星 |
| Hinterland | 增强代码自动补全 | 五星 |
| Snippets | 代码片段管理 | 四星 |
| Collapsible Headings | 可折叠的标题 | 五星 |
| Scratchpad | 临时代码草稿区 | 三星 |
提示:不要一次安装太多插件,选择最实用的几个即可。插件过多可能影响 Notebook 的性能。
代码示例
示例1:用 Jupyter Notebook 完成一个完整的分析流程
python
# 单元格 1:导入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 让图表显示在 Notebook 中
%matplotlib inline
python
# 单元格 2:生成一些模拟数据
np.random.seed(42) # 设置随机种子,保证每次运行结果一致
# 生成100名学生的模拟成绩数据
n_students = 100
data = {
'姓名': [f'学生{i+1}' for i in range(n_students)],
'数学': np.random.randint(50, 100, n_students),
'英语': np.random.randint(50, 100, n_students),
'物理': np.random.randint(50, 100, n_students)
}
df = pd.DataFrame(data)
df.head(10) # 显示前10行
python
# 单元格 3:数据统计分析
print("=== 基本统计信息 ===")
print(df.describe())
print("\n=== 各科平均分 ===")
subjects = ['数学', '英语', '物理']
for subject in subjects:
print(f"{subject}平均分: {df[subject].mean():.1f}")
python
# 单元格 4:数据可视化
plt.figure(figsize=(10, 6))
# 绘制各科成绩分布的直方图
for subject in subjects:
plt.hist(df[subject], bins=15, alpha=0.5, label=subject)
plt.xlabel('分数')
plt.ylabel('人数')
plt.title('各科成绩分布')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
示例2:魔法命令实战
python
# 对比列表和 NumPy 数组的性能差异
import numpy as np
# 使用纯 Python 列表
%%time
python_sum = sum(range(10000000))
# 使用 NumPy
%%time
numpy_sum = np.arange(10000000).sum()
print(f"Python结果: {python_sum}")
print(f"NumPy结果: {numpy_sum}")
示例3:文件读写操作
python
# 将 DataFrame 保存为 CSV 文件
df.to_csv('student_scores.csv', index=False, encoding='utf-8-sig')
# 查看文件是否创建成功
%ls student_scores.csv
# 重新读取文件
df_read = pd.read_csv('student_scores.csv')
df_read.head()
实战练习
练习1:环境检查
题目:编写一段代码,检查你的数据分析环境是否配置正确。输出以下信息:
- Python 版本
- NumPy 版本
- pandas 版本
- Matplotlib 版本
- 当前工作目录
参考答案:
python
import sys
import os
import numpy as np
import pandas as pd
import matplotlib
print("=" * 40)
print("数据分析环境检查报告")
print("=" * 40)
print(f"Python版本: {sys.version}")
print(f"NumPy版本: {np.__version__}")
print(f"pandas版本: {pd.__version__}")
print(f"Matplotlib版本: {matplotlib.__version__}")
print(f"当前工作目录: {os.getcwd()}")
print("=" * 40)
练习2:Jupyter Notebook 快捷键练习
题目:在一个新的 Notebook 中完成以下操作:
- 创建一个代码单元格,输入
print("Hello")并运行 - 在该单元格上方插入一个新单元格
- 将第一个单元格转换为 Markdown 单元格,写入标题 "我的第一个Notebook"
- 复制第一个代码单元格,粘贴到下方
- 删除复制的单元格
- 撤销删除操作
参考答案:按照以下步骤操作:
- 输入代码,按
Shift + Enter运行 - 按
Esc进入命令模式,按A - 按
M转换为 Markdown,写入内容,按Shift + Enter运行 - 选中单元格,按
C再按V - 选中要删除的单元格,连按两次
D - 按
Z撤销
练习3:魔法命令探索
题目:使用魔法命令完成以下任务:
- 查看当前工作目录
- 列出当前目录下的文件
- 测量计算 1 到 1 亿之和所需的时间
- 将一段代码写入文件
practice.py
参考答案:
python
# 1. 查看当前目录
%pwd
# 2. 列出文件
%ls
# 3. 测量时间
%time sum(range(100000001))
# 4. 写入文件
%%writefile practice.py
def add(a, b):
"""计算两个数的和"""
return a + b
result = add(10, 20)
print(f"结果是: {result}")
# 验证文件内容
%run practice.py
练习4:模拟数据分析小项目
题目:在一个 Notebook 中,完成以下分析:
- 生成 200 名学生的模拟数据(语文、数学、英语三科成绩)
- 计算每科的平均分、最高分、最低分
- 找出总分最高的前 5 名学生
- 绘制三科成绩的箱线图对比
参考答案:
python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# 1. 生成数据
np.random.seed(123)
n = 200
df = pd.DataFrame({
'学号': range(1, n + 1),
'语文': np.random.normal(75, 12, n).clip(0, 100),
'数学': np.random.normal(70, 15, n).clip(0, 100),
'英语': np.random.normal(72, 13, n).clip(0, 100)
})
# 将成绩取整
df[['语文', '数学', '英语']] = df[['语文', '数学', '英语']].round(0).astype(int)
# 2. 统计信息
print("各科统计信息:")
print(df[['语文', '数学', '英语']].describe())
# 3. 总分前5名
df['总分'] = df['语文'] + df['数学'] + df['英语']
top5 = df.nlargest(5, '总分')[['学号', '语文', '数学', '英语', '总分']]
print("\n总分前5名学生:")
print(top5)
# 4. 箱线图
plt.figure(figsize=(8, 6))
plt.boxplot([df['语文'], df['数学'], df['英语']],
labels=['语文', '数学', '英语'],
patch_artist=True)
plt.title('三科成绩箱线图对比')
plt.ylabel('分数')
plt.grid(True, alpha=0.3)
plt.show()
本节总结
本节我们完成了数据分析学习环境的全部搭建工作。回顾一下关键要点:
- Anaconda 是最佳入门选择:它一站式解决了 Python 安装、包管理、环境管理的问题,省去了大量配置麻烦。
- 虚拟环境很重要 :每个项目使用独立环境,避免版本冲突。记住
conda create、conda activate、conda deactivate三个命令就够了。 - Jupyter Notebook 是数据分析师的主力工具:它的交互式特性让"写代码-看结果-再调整"的循环变得非常高效。
- 快捷键和魔法命令是效率倍增器:不需要一次学完,先掌握最常用的几个,在实践中慢慢积累。
- 插件按需安装 :推荐先安装
Nbextensions,然后开启Table of Contents和Variable Inspector这两个最实用的插件。
环境配置就像搭积木,基础打好了,后面的学习才会顺畅。花一点时间把环境配置好,是非常值得的投资。
下一节预告
环境搭好了,接下来我们要开始学习数据分析的第一个核心工具------NumPy。
NumPy 是 Python 科学计算的基础库,几乎所有数据分析库都建立在它之上。在第2节中,你将学习:
- NumPy 数组的创建和基本操作
- 数据类型和类型转换
- 数组的基本运算和广播机制
- 常用数学统计函数
准备好了吗?让我们进入 NumPy 的奇妙世界!
结尾
希望对初学者有帮助;致力于办公自动化的小小程序员一枚
希望能得到大家的【❤️一个免费关注❤️】感谢!
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏