You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook部分代码执行过慢(含pandas操作)求问题原因与解决方法

Jupyter环境Pandas操作耗时异常升高的诱因与解决方案

常见诱因及对应解决方法

  • 数据集规模隐性变化
    若近期更新过train.csv文件,可能存在行/列数量增加、冗余空行/乱码写入、编码异常等问题,会同时抬高读取和计算耗时。
    解决方案:
    读取csv时增加参数减少冗余开销:
    train = pd.read_csv('Desktop\\train.csv', usecols=['需要用到的列名1','列名2',...], dtype={'列名1':指定类型, '列名2':指定类型}, low_memory=False)
    提前校验csv文件大小、行数是否和之前正常运行时的版本一致,排查是否有异常冗余内容。
  • Jupyter内核存在内存残留
    之前运行的代码若存在内存泄漏,或未释放的大体积变量会占用大量内存,后续操作触发内存交换时会大幅拖慢速度。
    解决方案:
    重启Jupyter内核后重新运行代码测试速度,也可主动释放无用内存:
    import gc
    # 替换为不需要的大体积变量名
    del unused_var
    gc.collect()
    
  • 依赖库版本变更
    若近期更新过pandas、numpy等依赖库,新版本可能存在性能bug,或是切换了未适配的虚拟环境,都会导致运行速度下降。
    解决方案:
    查看当前pandas版本:pd.__version__,回滚到之前正常运行时的历史版本即可:
    pip install pandas==[历史正常版本号]
  • 磁盘IO被占用
    pd.read_csv为磁盘IO操作,若桌面所在磁盘剩余空间不足、存在坏道,或是后台有杀毒软件扫描、云盘同步等进程占用磁盘读写,都会拖慢读取速度,内存不足时触发的虚拟内存交换也会受磁盘性能影响。
    解决方案:
    确保磁盘剩余空间≥10%,暂时关闭后台高IO进程(暂停云同步、关闭杀毒软件实时扫描)后再测试速度。
  • 计算逻辑隐性冗余
    若训练集中新增了非数值列,train.corr()默认会对所有数值列做两两相关计算,计算量随列数呈平方级增长,会大幅抬高耗时。
    解决方案:
    计算相关系数时仅指定需要的列,减少不必要的计算开销:
    corr = train[['claim', '其他需要计算相关的列名']].corr()

注意:pd.set_option('display.max_column', 120)仅控制Jupyter的列展示数量,与读取、计算性能无关联,因此调整该参数无法解决性能问题

内容的提问来源于stack exchange,提问作者Khadija

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:06:05