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

如何用Pandas提取列中'-'后内容?实现类似SAS scan的列调整

Python实现类似SAS scan函数的数据集处理需求

当然可以实现,Python中处理这类字符串提取和列操作,用pandas的字符串方法就能达到类似SAS scan函数的效果,以下是具体实现步骤:

步骤1:构造示例数据集

先模拟你描述的数据集:

import pandas as pd

data = {
    'Column A': ['001-3', '002-14'],
    'Column B': [5, 6]
}
df = pd.DataFrame(data)

步骤2:将原Column B内容移至Column C

直接赋值即可:

df['Column C'] = df['Column B']

步骤3:从Column A提取'-'后的内容填充Column B

这里有两种常用方法,都能实现类似SAS scan函数按分隔符提取指定位置内容的效果:

方法一:使用str.split拆分字符串

str.split('-')会把字符串按'-'拆分成列表,取索引1的元素(对应分隔符后的内容):

df['Column B'] = df['Column A'].str.split('-').str[1]

方法二:使用str.extract正则提取

通过正则表达式匹配'-'后的所有字符,适合更复杂的匹配场景:

df['Column B'] = df['Column A'].str.extract(r'-(.*)$')

最终结果

执行完上述代码后,数据集会变成:

Column AColumn BColumn C
001-335
002-14146

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:54:25