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

如何通过Pandas将DataFrame单列以\分隔的特征拆分至多列?

Pandas实现DataFrame单列按分隔符拆分到多列

问题场景

你有一个如下结构的DataFrame:

A\B\C\DUnnamed:1Unnamed:2Unnamed:3Unnamed:4
1\2\3\4NaNNaNNaNNaN
1\2\3\4NaNNaNNaNNaN
a\2\7\CNaNNaNNaNNaN
d\2\u\4NaNNaNNaNNaN

需要将第一列中用\分隔的内容拆分到独立的A、B、C、D列,同时移除无用的NaN列,得到目标结构:

ABCD
1234
1234
a27C
d2u4

解决方案

直接使用Pandas的str.split()方法即可完成拆分,结合列名拆分设置新列名,步骤如下:

  1. 构造示例数据(用于复现场景,可跳过)
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A\\B\\C\\D': ['1\\2\\3\\4', '1\\2\\3\\4', 'a\\2\\7\\C', 'd\\2\\u\\4'],
    'Unnamed:1': [np.nan]*4,
    'Unnamed:2': [np.nan]*4,
    'Unnamed:3': [np.nan]*4,
    'Unnamed:4': [np.nan]*4
})
  1. 拆分目标列并设置新列名
# 拆分第一列,expand=True将拆分结果转为多列
split_result = df['A\\B\\C\\D'].str.split('\\', expand=True)

# 从原列名中提取新列名
new_col_names = df.columns[0].split('\\')

# 给拆分后的列设置名称
split_result.columns = new_col_names

# 查看最终结果
print(split_result)

补充说明

  • 如果原始DataFrame中还有其他需要保留的有效列,可以用pd.concat合并结果:
    # 假设需要保留名为'Useful_Column'的列
    final_df = pd.concat([split_result, df['Useful_Column']], axis=1)
    
  • 注意\是转义字符,在Python字符串中需要用\\表示,或者使用原始字符串r'\'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:40:40