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

基于Pandas现有列创建新列:为ID添加user/前缀并去引号

Pandas DataFrame生成col4列的实现方案

需求说明

基于现有DataFrame的col3列生成col4列,需完成两个处理:

  • 移除col3中的双引号
  • 给每个ID添加user/前缀,支持单个ID或逗号分隔的ID列表

实现代码

1. 构造示例数据

import pandas as pd

# 初始化原始DataFrame
df = pd.DataFrame({
    'col1': ['01', '02'],
    'col2': ['01', '02'],
    'col3': ['"ID278, ID289"', '"ID275"']
})

2. 方法一:正则表达式批量处理

利用字符串替换和正则匹配,一次性完成去引号和前缀添加:

# 生成col4列
df['col4'] = df['col3'].str.replace('"', '', regex=False) \
                      .str.replace(r'\bID', r'user/ID', regex=True)
  • str.replace('"', '', regex=False):直接移除所有双引号
  • str.replace(r'\bID', r'user/ID', regex=True):通过单词边界\b匹配每个独立的ID开头,替换为带前缀的格式

3. 方法二:拆分-处理-合并(更灵活)

适合ID前后存在不规则空格的场景,先拆分ID列表,逐个添加前缀后再合并:

df['col4'] = df['col3'].str.replace('"', '', regex=False) \
                      .apply(lambda x: ', '.join([f'user/{id.strip()}' for id in x.split(',')]))
  • x.split(','):按逗号拆分ID列表
  • id.strip():去除ID前后的空格
  • f'user/{id.strip()}':给每个ID添加前缀
  • ', '.join(...):将处理后的ID重新合并为字符串

处理后结果

执行代码后,DataFrame将变为:

col1 col2             col3                          col4
0   01   01  "ID278, ID289"  user/ID278, user/ID289
1   02   02        "ID275"               user/ID275

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:18:17