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

如何对DataFrame中空格分隔的列表列执行explode操作?

处理pandas中空格分隔字符串列的explode操作

不需要先转成逗号分隔,直接把空格分隔的字符串转为列表后就能执行explode,步骤如下:

1. 将空格分隔字符串转为列表

用pandas的str.split()方法,默认按任意数量的空格分割(包括连续空格、制表符等),直接把字符串转成列表格式:

df['cited_docdb_ls'] = df['cited_docdb_ls'].str.split()

如果需要严格按单个空格分割(不合并连续空格),可以指定参数pat=' ',但一般默认行为更实用。

2. 执行explode操作

对转换后的列表列直接调用explode():

df_exploded = df.explode('cited_docdb_ls', ignore_index=True)
  • ignore_index=True会重置结果的索引,避免重复索引;
  • 如果原列存在空值或空字符串,str.split()会返回NaN或空列表,explode时可以通过dropna=True过滤掉这些空条目:
df_exploded = df.explode('cited_docdb_ls', ignore_index=True, dropna=True)

完整示例

import pandas as pd

# 构造示例DataFrame
data = {
    'id': [1, 2],
    'cited_docdb_ls': ['DOC1 DOC2 DOC3', 'DOC4 DOC5']
}
df = pd.DataFrame(data)

# 转换为列表
df['cited_docdb_ls'] = df['cited_docdb_ls'].str.split()

# 执行explode
df_exploded = df.explode('cited_docdb_ls', ignore_index=True)
print(df_exploded)

输出结果:

id cited_docdb_ls
0   1           DOC1
1   1           DOC2
2   1           DOC3
3   2           DOC4
4   2           DOC5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:15:39