如何展平含空格分隔列表列的Pandas DataFrame?
解决方法
当然有Pandas原生的高效实现方式,完全不用逐行迭代,核心用str.split()加explode()两步就能搞定:
- 先把A列的空格分隔字符串拆成列表:
df['A'] = df['A'].str.split() - 用
explode()方法将列表列展开成多行,同时自动重复对应行的其他列数据:df = df.explode('A', ignore_index=True)
完整示例代码
import pandas as pd # 构造原始DataFrame df = pd.DataFrame({ 'A': ['1 2 3'], 'B': ['location'], 'C': ['code'] }) # 拆分+展开操作 df['A'] = df['A'].str.split() df = df.explode('A', ignore_index=True) print(df)
运行后输出结果:
A B C 0 1 location code 1 2 location code 2 3 location code
explode()是Pandas 0.25版本后支持的原生方法,专门用来处理列表/数组类型列拆分成多行的场景,性能比手动迭代高很多,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Ramy
相关产品推荐
相关产品推荐

