欢迎光临
我们一直在努力

数据挖掘(二) ----- Jupyter Notebook使用示例和常见问题

一、Jupyter Notebook 简介

Jupyter Notebook 是一个开源的 Web 应用程序,允许创建和共享包含实时代码、方程式、可视化和文本的文档。它广泛应用于数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等领域。

二、环境安装与配置

2.1 安装方法

# 使用pip安装
pip install jupyter notebook

# 或使用conda安装(推荐)
conda install jupyter notebook

2.2 启动 Notebook

# 基本启动
jupyter notebook

# 指定端口启动
jupyter notebook –port 8888

# 不自动打开浏览器
jupyter notebook –no-browser

# 指定工作目录
jupyter notebook –notebook-dir=/path/to/your/notebooks

三、基本使用示例

3.1 创建新 Notebook

  • 启动 Jupyter Notebook 后,在 Web 界面点击右上角"New" → “Python 3”
  • 系统会创建一个新的 Notebook 文件(.ipynb 后缀)
  • 3.2 基本单元格操作

    # 代码单元格示例
    print("Hello, Jupyter Notebook!")

    # Markdown单元格示例(按M键转换为Markdown)
    # 一级标题
    ## 二级标题
    ### 三级标题

    列表项1
    列表项2

    **粗体文本** *斜体文本*

    3.3 常用快捷键

    快捷键功能模式
    Ctrl+Enter 运行当前单元格 命令/编辑
    Shift+Enter 运行当前单元格并跳转到下一个 命令/编辑
    Alt+Enter 运行当前单元格并在下方插入新单元格 命令/编辑
    Esc 进入命令模式
    Enter 进入编辑模式
    A 在上方插入单元格 命令模式
    B 在下方插入单元格 命令模式
    D+D 删除单元格 命令模式
    Z 撤销删除 命令模式
    M 转换为Markdown单元格 命令模式
    Y 转换为代码单元格 命令模式
    Shift+M 合并选中的单元格 命令模式

    3.4 数据可视化示例

    import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd

    # 创建示例数据
    x = np.linspace(0, 10, 100)
    y = np.sin(x)

    # 绘制图形
    plt.figure(figsize=(10, 6))
    plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)
    plt.title('正弦函数示例')
    plt.xlabel('X轴')
    plt.ylabel('Y轴')
    plt.legend()
    plt.grid(True)
    plt.show()

    3.5 数据操作示例

    # 创建示例DataFrame
    data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [25, 30, 35, 28],
    '城市': ['北京', '上海', '广州', '深圳'],
    '工资': [50000, 60000, 55000, 65000]
    }

    df = pd.DataFrame(data)
    df

    # 数据分析
    print("数据统计信息:")
    print(df.describe())

    print("\\n平均工资:", df['工资'].mean())
    print("最大年龄:", df['年龄'].max())

    四、常见问题与解决方案

    4.1 启动问题

    问题1:Jupyter Notebook 无法启动

    # 解决方案:
    # 1. 检查端口是否被占用
    jupyter notebook –port 8889

    # 2. 清除配置文件
    jupyter notebook –generate-config
    # 或删除 ~/.jupyter 文件夹重新配置

    问题2:导入包时出现 ModuleNotFoundError

    # 解决方案:在Notebook中安装包
    !pip install package_name

    # 或使用魔法命令
    %pip install package_name

    4.2 运行时问题

    问题3:内核崩溃或重启

    # 解决方案:
    # 1. 重置内核:Kernel → Restart
    # 2. 清理内存
    import gc
    gc.collect()

    # 3. 限制内存使用
    import resource
    resource.setrlimit(resource.RLIMIT_AS, (4 * 1024**3, 1)) # 限制4GB

    问题4:长时间运行任务

    # 使用后台运行
    from IPython.lib import backgroundjobs as bg
    jobs = bg.BackgroundJobManager()

    # 或使用异步执行
    %load_ext autoreload
    %autoreload 2

    4.3 显示问题

    问题5:图表显示不完整

    # 解决方案:
    import matplotlib.pyplot as plt
    %matplotlib inline
    # 或
    %matplotlib notebook

    # 设置显示选项
    pd.set_option('display.max_rows', 500)
    pd.set_option('display.max_columns', 500)
    pd.set_option('display.width', 1000)

    4.4 文件操作问题

    问题6:文件路径问题

    import os

    # 获取当前工作目录
    current_dir = os.getcwd()
    print("当前目录:", current_dir)

    # 更改工作目录
    os.chdir('/path/to/your/directory')

    # 列出文件
    !ls la

    五、使用技巧

    5.1 魔法命令

    # 时间测量
    %time sum(range(1000000))

    %timeit sum(range(1000000))

    %%time
    total = 0
    for i in range(1000000):
    total += i

    # 系统命令
    !pip list # 列出已安装包
    !ls la # 列出文件
    !pwd # 显示当前路径

    # 自动重载模块
    %load_ext autoreload
    %autoreload 2

    5.2 插件安装

    # 安装插件管理器
    pip install jupyter_contrib_nbextensions
    jupyter contrib nbextension install –user

    # 启用常用插件
    jupyter nbextension enable code_prettify/code_prettify
    jupyter nbextension enable execute_time/ExecuteTime
    jupyter nbextension enable spellchecker/main

    5.3 主题设置

    # 安装主题
    pip install jupyterthemes

    # 查看可用主题
    jt -l

    # 设置主题
    jt -t onedork -fs 12 -cellw 90%

    六、导出与分享

    6.1 导出格式

    # 导出为HTML
    jupyter nbconvert –to html notebook.ipynb

    # 导出为PDF(需要安装LaTeX)
    jupyter nbconvert –to pdf notebook.ipynb

    # 导出为Markdown
    jupyter nbconvert –to markdown notebook.ipynb

    # 导出为Python脚本
    jupyter nbconvert –to python notebook.ipynb

    6.2 导入CSDN等博客平台

  • 导出为Markdown
  • jupyter nbconvert –to markdown notebook.ipynb

  • 调整图片路径
    • 默认情况下图片会保存在 notebook_files/ 文件夹
    • 上传图片到博客平台的图床
    • 替换Markdown中的图片链接
  • 优化内容格式
    • 确保代码块有正确的语言标记
    • 检查数学公式渲染
    • 调整标题层级结构

    6.3 分享到GitHub

  • 将 .ipynb 文件推送到GitHub仓库
  • GitHub会自动渲染Notebook
  • 可以使用 nbviewer 进行在线查看
  • 七、最佳实践

    7.1 代码组织

    # 模块化导入
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt

    # 设置全局样式
    plt.style.use('seaborn-whitegrid')
    %matplotlib inline
    pd.set_option('display.max_columns', 50)

    7.2 版本控制

    # 安装nbstripout清理输出
    pip install nbstripout

    # 设置git过滤器
    nbstripout –install

    7.3 调试技巧

    # 使用pdb调试
    import pdb

    def debug_function():
    pdb.set_trace() # 设置断点
    # 你的代码

    # 或使用魔术命令
    %debug
    %pdb

    7.4 性能优化

    # 1. 使用矢量化操作替代循环
    import numpy as np

    # 慢
    result = []
    for i in range(1000000):
    result.append(i * 2)

    # 快
    result = np.arange(1000000) * 2

    # 2. 使用合适的数据类型
    df['column'] = df['column'].astype('category')

    # 3. 内存优化
    df = pd.read_csv('large_file.csv', chunksize=10000)

    八、扩展功能

    8.1 JupyterLab

    # 安装JupyterLab
    pip install jupyterlab

    # 启动
    jupyter lab

    8.2 JupyterHub(多用户)

    # 安装
    pip install jupyterhub

    # 配置多用户环境
    # 参考官方文档进行详细配置

    8.3 内核管理

    # 查看可用内核
    jupyter kernelspec list

    # 安装新内核(如Python2)
    python2 -m pip install ipykernel
    python2 -m ipykernel install –user

    # 删除内核
    jupyter kernelspec remove kernelname

    九、故障排除清单

  • 启动问题

    • 检查Python环境
    • 检查端口占用
    • 查看日志文件
  • 导入错误

    • 检查包是否安装
    • 检查Python路径
    • 重启内核
  • 显示问题

    • 检查前端设置
    • 更新浏览器
    • 清除缓存
  • 性能问题

    • 监控内存使用
    • 优化代码
    • 使用适当的数据结构
  • 保存问题

    • 检查文件权限
    • 检查磁盘空间
    • 手动备份重要文件
  • 十、学习资源

  • 官方文档: https://jupyter.org/documentation
  • Jupyter Notebook Gallery: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks
  • DataCamp教程: https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook
  • Real Python教程: https://realpython.com/jupyter-notebook-introduction/

  • 总结: Jupyter Notebook 是一个强大的交互式计算环境,通过掌握上述技巧和解决方案,可以大大提高工作效率。建议定期备份重要Notebook,并探索 JupyterLab 等更先进的替代工具以获得更好的开发体验。

    赞(0)
    未经允许不得转载:171主机测评 » 数据挖掘(二) ----- Jupyter Notebook使用示例和常见问题
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址