跳到主要内容

环境配置

在开始数据分析之前,我们需要配置好开发环境。本章将详细介绍如何安装 Python 和所需的数据分析库。

安装 Python

方法一:下载安装包(推荐初学者)

  1. 访问 Python 官网:https://www.python.org/downloads/
  2. 下载最新版本的 Python(建议 Python 3.9 或更高版本)
  3. 运行安装程序
  4. 重要:勾选 "Add Python to PATH" 选项

方法二:使用 Anaconda(推荐数据分析用户)

Anaconda 是一个包含 Python 和众多科学计算库的发行版,非常适合数据分析:

  1. 下载 Anaconda:https://www.anaconda.com/download
  2. 运行安装程序
  3. 验证安装:
    conda --version
    python --version

方法三:使用 pyenv(适合高级用户)

pyenv 是一个 Python 版本管理工具:

# macOS 安装
brew install pyenv

# Linux 安装
curl https://pyenv.run | bash

# 使用 pyenv 安装 Python
pyenv install 3.11.0
pyenv global 3.11.0

安装数据分析库

使用 pip 安装

# 升级 pip
python -m pip install --upgrade pip

# 安装核心数据分析库
pip install numpy pandas matplotlib seaborn

# 安装科学计算相关库
pip install scipy scikit-learn

# 安装数据获取和处理库
pip install requests openpyxl xlrd

使用 conda 安装(推荐)

# 安装核心数据分析库
conda install numpy pandas matplotlib seaborn

# 安装 scikit-learn
conda install scikit-learn

一键安装所有库

# 创建一个包含所有必要库的环境
conda create -n data_analysis python=3.11 numpy pandas matplotlib seaborn scipy scikit-learn openpyxl xlrd

# 激活环境
conda activate data_analysis

验证安装

创建测试脚本验证所有库是否正确安装:

# test_environment.py
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import sklearn
import scipy

print("NumPy 版本:", np.__version__)
print("Pandas 版本:", pd.__version__)
print("Matplotlib 版本:", plt.matplotlib.__version__)
print("Seaborn 版本:", sns.__version__)
print("Scikit-learn 版本:", sklearn.__version__)
print("SciPy 版本:", scipy.__version__)

# 简单测试
arr = np.array([1, 2, 3, 4, 5])
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
print("\nNumPy 数组:", arr)
print("\nPandas DataFrame:")
print(df)

print("\n✓ 所有库安装成功!")

运行测试:

python test_environment.py

Jupyter Notebook 配置

Jupyter Notebook 是数据分析最常用的交互式开发环境。

安装 Jupyter

# 使用 pip 安装
pip install jupyterlab notebook

# 使用 conda 安装
conda install jupyterlab notebook

启动 Jupyter

# 启动 Jupyter Lab(推荐)
jupyter lab

# 或者启动 Jupyter Notebook
jupyter notebook

常用快捷键

快捷键功能
Shift + Enter运行当前单元格并移动到下一个
Ctrl + Enter运行当前单元格
Alt + Enter运行当前单元格并在下方插入新单元格
A在上方插入单元格
B在下方插入单元格
DD删除当前单元格
M将单元格转换为 Markdown
Y将单元格转换为代码

配置 Jupyter 主题和插件

安装主题

pip install jupyterthemes
jt -t monokai -f fira -fs 13 -cellw 90% -T

常用插件

# 安装 nbextensions
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install

# 安装 JupyterLab 插件
pip install jupyterlab-git

IDE 推荐

1. VS Code(推荐)

免费、功能强大、插件丰富:

# 安装 Python 扩展
# 打开 VS Code,按 Ctrl+Shift+X 打开扩展市场
# 搜索 "Python" 并安装

推荐配置(settings.json):

{
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "black",
"python.analysis.typeCheckingMode": "basic",
"jupyter.allowImportingKernel": true
}

2. PyCharm

专业级 Python IDE,功能强大:

  • 社区版免费
  • 智能代码补全
  • 强大的调试功能
  • 集成版本控制

3. JupyterLab

专为数据分析设计:

  • 交互式编程
  • 多文档窗口
  • 支持 Markdown
  • 丰富插件生态

虚拟环境管理

使用 venv

# 创建虚拟环境
python -m venv myenv

# 激活环境
# Windows
myenv\Scripts\activate
# Linux/macOS
source myenv/bin/activate

# 安装依赖
pip install numpy pandas

# 导出依赖列表
pip freeze > requirements.txt

# 从依赖列表安装
pip install -r requirements.txt

使用 conda

# 创建环境
conda create -n myenv python=3.11

# 激活环境
conda activate myenv

# 导出环境
conda env export > environment.yaml

# 从文件创建环境
conda env create -f environment.yaml

Docker 环境(可选)

对于需要复杂环境配置的项目,可以使用 Docker:

# Dockerfile
FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["jupyter", "lab", "--ip=0.0.0.0", "--allow-root"]

requirements.txt:

numpy>=1.24.0
pandas>=2.0.0
matplotlib>=3.7.0
seaborn>=0.12.0
scikit-learn>=1.3.0
jupyterlab>=4.0.0

构建和运行:

docker build -t data-analysis .
docker run -p 8888:8888 data-analysis

常见问题

1. pip 安装速度慢

解决方法:使用国内镜像源

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 导入库时出现错误

确保已正确安装:

# 重新安装
pip uninstall pandas
pip install pandas

# 或者升级到最新版本
pip install --upgrade pandas

3. Jupyter 无法启动

尝试重新安装:

pip uninstall jupyter notebook jupyterlab
pip install jupyter notebook jupyterlab

下一步

环境配置完成后,让我们开始学习 NumPy 基础,为数据分析打下基础!