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

如何在Pandas中拆分DataFrame列并仅保留前两列(无需先删后留)

高效拆分Pandas DataFrame列并保留指定部分

你可以通过两种更简洁高效的方式实现需求,无需先创建冗余列再删除:

方法1:拆分后直接截取前两列

利用iloc直接提取拆分结果的前两列,避免生成不需要的第三列:

import pandas as pd
df = pd.DataFrame({'AB': ['A1_B1_C1', 'A2_B2_C2']})

# 拆分后仅取前两列赋值给新列A、B
df[['A', 'B']] = df['AB'].str.split('_', n=2, expand=True).iloc[:, :2]

执行后直接得到目标结果,无需额外删除操作。

方法2:使用正则表达式提取

通过str.extract直接匹配并提取前两个下划线分隔的片段,逻辑更直观:

import pandas as pd
df = pd.DataFrame({'AB': ['A1_B1_C1', 'A2_B2_C2']})

# 正则匹配前两个非下划线片段
df[['A', 'B']] = df['AB'].str.extract(r'^([^_]+)_([^_]+)', expand=True)

正则表达式^([^_]+)_([^_]+)表示从字符串开头匹配第一个非下划线序列(对应A列),然后匹配下划线,再匹配第二个非下划线序列(对应B列),精准提取需要的部分。

两种方法都能避免冗余列的创建,比原方案更高效简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:52:04