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

如何替换Pandas DataFrame单元格值为列表并展开DataFrame

解决方案

要实现你想要的效果,我们可以利用Pandas的loc定位和explode展开功能,几步就能搞定:

首先先构建你给出的示例数据:

import pandas as pd

# 初始化DataFrame
df = pd.DataFrame({
    'A': ['a', 'd'],
    'B': ['b', 'e'],
    'C': ['c', 'f']
})
mylist = [1, 2, 3]

接下来执行核心操作:

  1. 定位到C列值为'c'的行,把该行的C列值替换成目标列表mylist
  2. 使用explode方法将列表中的元素拆分成单独的行,同时保留A、B列的对应值

代码如下:

# 替换目标行的C列为列表
df.loc[df['C'] == 'c', 'C'] = df.loc[df['C'] == 'c', 'C'].apply(lambda x: mylist)

# 展开列表为多行,重置索引让结果更整洁
df = df.explode('C', ignore_index=True)

执行后你就能得到想要的结果:

A  B  C
0  a  b  1
1  a  b  2
2  a  b  3
3  d  e  f

补充说明

如果你的DataFrame中有多行C列值为'c',这个方法同样适用——每一行都会被展开成对应列表长度的行数,完全保留其他列的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:37:23