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

如何将Pandas DataFrame中含空格的字符串行拆分为多行并保留nan值

实现代码

import pandas as pd
import numpy as np

# 构造示例数据,替换为你自己的DataFrame即可
df = pd.DataFrame({
    'output': ['Ohio State', np.nan, np.nan, 'New York City', np.nan, np.nan, np.nan]
})

# 核心处理逻辑
df['output'] = df['output'].apply(lambda x: x.split() if pd.notna(x) else [x])
df = df.explode('output', ignore_index=True)

# 输出验证
print(df)

执行后输出结果和你期望的格式完全一致:

output
0        Ohio
1       State
2         NaN
3         NaN
4         New
5        York
6        City
7         NaN
8         NaN
9         NaN

逻辑说明

  • 先用apply逐行处理output列:非空值按空格拆分为单词列表,空值包装为仅包含自身的列表,保证空行不会在后续操作中丢失
  • 再用explode方法将列表类型的单元格展开为独立行,ignore_index=True会自动重置行索引,避免索引重复报错
  • 如果你需要保留原表的其他列,该方法也适用,展开后其他列的值会自动对应复制到新增的行上

你之前考虑的新增标记列的方案也可以实现,不过上述写法更简洁,无需额外新增列即可完成需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:45:00