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

Pandas加载Parquet文件无限耗时:运行30分钟未完成的原因排查

代码运行超时的可能原因及修复方案

1. 核心代码逻辑错误

你写的时长过滤代码存在语法问题:

df = df[df.duration >= 1] & (df.duration <= 60)

这个写法会先取出df[df.duration >=1](一个完整DataFrame),再和布尔Series(df.duration <=60)做按位与运算,最终生成一个和原数据集同维度的布尔值DataFrame,而非过滤后的有效数据。错误会导致内存占用暴增,程序陷入无意义的计算循环,直接卡死。

正确写法需将整个过滤条件用括号包裹,确保先计算布尔表达式再过滤DataFrame:

df = df[(df.duration >= 1) & (df.duration <= 60)]

2. 远程文件加载瓶颈

你直接从远程URL加载Parquet文件,若网络带宽不足、连接不稳定或目标服务器限流,会导致文件下载速度极慢甚至停滞,表现为程序长时间无响应。建议先将文件下载到本地,再读取本地文件。

3. 内存资源不足

2023年1月的纽约黄车数据集体积较大(约350MB),加上处理时生成的中间数据,若你的机器内存不足(比如小于8GB),系统会频繁使用磁盘交换空间(swap),导致处理速度骤降,甚至长时间卡住。

4. 低效的时间处理方式

用apply方法处理时长的效率极低:

df.duration = df.duration.apply(lambda td: td.total_seconds()/60)

换成Pandas矢量化操作可大幅提升速度:

df.duration = df.duration.dt.total_seconds() / 60

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:16:03