Python中如何合并Pandas DataFrame指定多列值生成新列
Python Pandas 多列拼接解决方案
完整实现代码
# 1. 筛选1-12个月的逾期周期列,按月份从小到大排序保证拼接顺序正确 dlq_cols = sorted( [col for col in df.columns if col.startswith('CRDACCT_DLQ_CYC_')], key=lambda x: int(x.split('_')[3]) ) # 2. 转字符串后按行拼接,生成新列 df['HISTORY_DLQ'] = df[dlq_cols].astype(str).agg(''.join, axis=1) # 打印结果验证 print(df['HISTORY_DLQ'].tolist())
实现说明
- 排序步骤是为了确保拼接顺序严格对应1个月前到12个月前的顺序,避免列顺序错乱导致拼接结果不符合预期
- 先统一转为字符串类型,兼容列中混合的数字、字母类取值,不会出现类型报错
- 运行后生成的HISTORY_DLQ列和你给出的预期输出完全匹配,首行结果为
34802235254F,第二行结果为237222342438,最后一行结果为C2FFC0CZFCZ2
内容的提问来源于stack exchange,提问作者Anwar San
相关产品推荐
相关产品推荐

