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

百万级DataFrame列表列拆分为多行的无循环高效方案咨询

Pandas高效实现方案

核心思路是使用pandas原生矢量化重复+分组计数操作,完全规避Python层循环,性能远高于原有iterrows实现。

import pandas as pd

# 确保points列为整数类型,避免类型转换报错
df['points'] = df['points'].astype(int)

# 按每行points值重复对应行数,底层为C实现无Python循环开销
expanded_df = df.repeat(df['points']).reset_index(drop=True)

# 生成每组的序号列,从1开始计数
expanded_df['index'] = expanded_df.groupby(level=0).cumcount() + 1

# 按需调整列顺序即可得到最终结果
FinalDF = expanded_df[['I', 'x', 'y', 'points', 'data', 'index']]

性能说明

该方案所有逻辑均在pandas底层C实现层面执行,95万行数据通常可在秒级完成处理,完全满足生产使用需求。如果数据体量超出内存承载范围,可替换为dask.dataframe实现相同逻辑,核心代码无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:45:02