按条件复制数据行并修改ID变量名称
数据集处理方案
原始数据集
ID Date Count 123 31DEC2017 2 456 31DEC2017 1 789 31DEC2017 2
需求目标
当Count值为2时,复制该行并为ID添加.v2后缀,得到如下目标数据集:
ID Date Count 123 31DEC2017 2 123.v2 31DEC2017 2 456 31DEC2017 1 789 31DEC2017 2 789.v2 31DEC2017 2
方法一:SAS 实现
/* 创建原始数据集 */ data original; input ID $ Date $ Count; datalines; 123 31DEC2017 2 456 31DEC2017 1 789 31DEC2017 2 ; run; /* 生成目标数据集 */ data target; set original; output; /* 输出原始行 */ if Count = 2 then do; ID = cats(ID, '.v2'); /* 拼接ID后缀 */ output; /* 输出复制修改后的行 */ end; run; /* 查看结果 */ proc print data=target noobs; run;
方法二:Python Pandas 实现
import pandas as pd # 构造原始数据框 df = pd.DataFrame({ 'ID': ['123', '456', '789'], 'Date': ['31DEC2017']*3, 'Count': [2, 1, 2] }) # 筛选并复制Count=2的行,修改ID dup_rows = df[df['Count'] == 2].copy() dup_rows['ID'] = dup_rows['ID'] + '.v2' # 合并数据并保持原顺序 result_df = pd.concat([df, dup_rows]).sort_index(kind='merge').reset_index(drop=True) # 打印结果 print(result_df)
内容的提问来源于stack exchange,提问作者SASSASSAS
相关产品推荐
相关产品推荐

