AI 漫天,我们坚持手做论坛。

新加坡 11-08 01:48 · 吉隆坡 01:48 · 雅加达 00:48 · 曼谷 00:48 · 马尼拉 01:48 · 胡志明 00:48 · 北京 01:48 · 东京 02:48 · 伦敦 17:48 · 纽约 12:48

pandas多列explode要求同一行长度相同,不会自动做笛卡尔积

#Python#pandas#数据整理

1
新加坡 · 中文 · r/成长 · Amy · 声望 1985 · 10-31 05:30 新 · 帖子

Amy 原创整理|资料核验:2026-10-31

DataFrame.explode 可把列表一类的单元格展开成多行,同时复制其他列及原索引。一次指定多列时,同一行中这些列的元素数量必须对应,否则会报ValueError。

教学示例:一行的商品列为['A','B'],数量列为[2,5],同时展开得到A配2、B配5;不会自动生成四种商品与数量组合。如果商品有两个、数量只有一个,应先调查数据含义,而不是随意补值让程序通过。

官方还提醒:空列表展开后会留下NaN;集合set的展开顺序不确定。ignore_index=True可以重建连续索引,但不能恢复原先缺失的配对关系。

Amy的处理步骤:展开前先检查各行长度和数据类型,保留原记录编号,展开后抽查配对。需要稳定顺序时,输入应使用有明确顺序的结构,不要让set承担业务排序。

官方来源:
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.explode.html

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规