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

在R中按指定比例为匹配行的Value1列追加字符

实现方案

直接通过分组随机筛选+批量替换就能搞定,而且支持自定义任意多四位代码的追加比例,具体步骤如下:

1. 定义比例配置

用字典指定每个四位代码需要追加" 1"的比例:

# 键是Value1中的代码,值是对应要追加的比例
append_config = {
    'AMRO': 0.5,  # 50%的AMRO追加" 1"
    'CHSP': 0.3   # 30%的CHSP追加" 1"
}

2. 分组标记需要追加的行

按Value1分组后,每组内随机挑选指定比例的行,生成标记列:

import pandas as pd
import numpy as np

# 生成标记列:1表示需要追加,0表示不需要
df['to_append'] = df.groupby('Value1')['Value1'].transform(
    lambda group: np.random.choice(
        [1, 0], 
        size=len(group), 
        p=[append_config.get(group.name, 0), 1 - append_config.get(group.name, 0)]
    )
)

3. 批量追加文本

根据标记列给对应行的Value1追加" 1",完成后可删除标记列:

# 执行追加操作
df['Value1'] = np.where(df['to_append'] == 1, df['Value1'] + ' 1', df['Value1'])

# 可选:移除临时标记列
df = df.drop('to_append', axis=1)

额外说明

  • 新增代码比例只需在append_config中添加键值对即可,比如'XYZA': 0.6会给60%的XYZA追加" 1";
  • 随机筛选是每组独立执行的,确保每个代码的比例精准,不受其他代码干扰;
  • 未在配置中出现的代码,默认不会进行任何修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:33:43