第1节:数据分析环境配置——Jupyter Notebook全攻略

目录

专栏导读

🌸 欢迎来到Python办公自动化专栏---Python处理办公问题,解放您的双手
🏳️‍🌈 个人博客主页:请点击------> 个人的博客主页 求收藏
🏳️‍🌈 Github主页:请点击------> Github主页 求Star⭐
🏳️‍🌈 知乎主页:请点击------> 知乎主页 求关注
🏳️‍🌈 CSDN博客主页:请点击------> CSDN的博客主页 求关注
👍 该系列文章专栏:请点击------>Python办公自动化专栏 求订阅
🕷 此外还有爬虫专栏:请点击------>Python爬虫基础专栏 求订阅
📕 此外还有python基础专栏:请点击------>Python基础学习专栏 求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️

第1节:数据分析环境配置------Jupyter Notebook全攻略

本节学习目标

完成本节学习后,你将能够:

  1. 独立安装 Python 和 Anaconda 环境
  2. 理解虚拟环境的作用并熟练创建、切换环境
  3. 熟练使用 Jupyter Notebook 进行代码编写和运行
  4. 掌握 Jupyter Notebook 的常用快捷键和魔法命令
  5. 安装和配置常用插件,提升开发效率

为什么学这个

想象一下,你要学做饭。在正式开始之前,你需要什么?一口锅、一把刀、一个炉灶------这就是你的"厨房环境"。数据分析也是一样,在你写出第一行代码之前,必须先搭建好工作环境。

很多初学者会在环境配置上浪费大量时间:装不上库、版本冲突、路径错误......这些问题往往不是因为技术太难,而是因为方法不对。本节的目的就是帮你一次性把环境搭建好,让你后续的学习之路畅通无阻。

好消息是,有了 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 系统:

  1. 访问 Anaconda 官网(https://www.anaconda.com/download
  2. 下载 Windows 版本的安装包(建议选择 Python 3.10 或更高版本)
  3. 双击安装程序,按照向导一步步安装
  4. 关键选项:
    • 安装路径建议选择默认,或自定义到不含中文的路径
    • 勾选"Add Anaconda to my PATH environment variable"(部分版本可能没有此选项,没关系,后续可以用 Anaconda Navigator 管理)

macOS 系统:

  1. 下载 macOS 安装包
  2. 双击 .pkg 文件安装
  3. 或者使用 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
  1. 点击右上角的 New 按钮
  2. 选择 Python 3(或你安装的内核)
  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 + EnterABM 这四个,用熟了再学其他的。

六、魔法命令(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 中完成以下操作:

  1. 创建一个代码单元格,输入 print("Hello") 并运行
  2. 在该单元格上方插入一个新单元格
  3. 将第一个单元格转换为 Markdown 单元格,写入标题 "我的第一个Notebook"
  4. 复制第一个代码单元格,粘贴到下方
  5. 删除复制的单元格
  6. 撤销删除操作

参考答案:按照以下步骤操作:

  1. 输入代码,按 Shift + Enter 运行
  2. Esc 进入命令模式,按 A
  3. M 转换为 Markdown,写入内容,按 Shift + Enter 运行
  4. 选中单元格,按 C 再按 V
  5. 选中要删除的单元格,连按两次 D
  6. Z 撤销

练习3:魔法命令探索

题目:使用魔法命令完成以下任务:

  1. 查看当前工作目录
  2. 列出当前目录下的文件
  3. 测量计算 1 到 1 亿之和所需的时间
  4. 将一段代码写入文件 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 中,完成以下分析:

  1. 生成 200 名学生的模拟数据(语文、数学、英语三科成绩)
  2. 计算每科的平均分、最高分、最低分
  3. 找出总分最高的前 5 名学生
  4. 绘制三科成绩的箱线图对比

参考答案

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()

本节总结

本节我们完成了数据分析学习环境的全部搭建工作。回顾一下关键要点:

  1. Anaconda 是最佳入门选择:它一站式解决了 Python 安装、包管理、环境管理的问题,省去了大量配置麻烦。
  2. 虚拟环境很重要 :每个项目使用独立环境,避免版本冲突。记住 conda createconda activateconda deactivate 三个命令就够了。
  3. Jupyter Notebook 是数据分析师的主力工具:它的交互式特性让"写代码-看结果-再调整"的循环变得非常高效。
  4. 快捷键和魔法命令是效率倍增器:不需要一次学完,先掌握最常用的几个,在实践中慢慢积累。
  5. 插件按需安装 :推荐先安装 Nbextensions,然后开启 Table of ContentsVariable Inspector 这两个最实用的插件。

环境配置就像搭积木,基础打好了,后面的学习才会顺畅。花一点时间把环境配置好,是非常值得的投资。


下一节预告

环境搭好了,接下来我们要开始学习数据分析的第一个核心工具------NumPy

NumPy 是 Python 科学计算的基础库,几乎所有数据分析库都建立在它之上。在第2节中,你将学习:

  • NumPy 数组的创建和基本操作
  • 数据类型和类型转换
  • 数组的基本运算和广播机制
  • 常用数学统计函数

准备好了吗?让我们进入 NumPy 的奇妙世界!

结尾

希望对初学者有帮助;致力于办公自动化的小小程序员一枚
希望能得到大家的【❤️一个免费关注❤️】感谢!
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏
相关推荐
HQChart2 小时前
HQChart使用教程105-K线图,分时图如何对接AI进行数据分析
人工智能·数据挖掘·数据分析·hqchart·k线图·走势图
AI科技星2 小时前
全域数学·数术本源·第四卷《分析原本》【乖乖数学】
人工智能·机器学习·数学建模·数据挖掘·agi
babe小鑫2 小时前
零经验转行学习数据分析的价值分析
学习·数据挖掘·数据分析
PaperData2 小时前
2000-2025年《中国县域统计年鉴》pdf+excel版(附赠面板数据)
数据库·人工智能·数据分析·pdf·经管
Ada大侦探4 小时前
新手小白学习数据分析01----数据分析师???& 数据分析思维学习
android·学习·数据分析
码界筑梦坊4 小时前
116-基于Flask的健身房会员锻炼数据可视化分析系统
python·信息可视化·数据分析·flask·毕业设计
katheta4 小时前
时间序列模型总体分类
人工智能·分类·数据挖掘·时间序列·时序模型
MediaTea5 小时前
ML:逻辑回归的基本原理与实现
人工智能·算法·机器学习·数据挖掘·逻辑回归
Mr数据杨17 小时前
手写数字识别如何支撑文档数字化应用
机器学习·数据分析·kaggle