基于id合并DataFrame并按列顺序添加1、2后缀重命名的实现方法
实现方案(基于Python Pandas)
你可以直接用Pandas内置的merge方法搭配后缀参数实现需求,完整可运行代码如下:
import pandas as pd # 构造第一个数据集 df1 = pd.DataFrame({ "id": [1, 2, 3], "A": [1, 4, 2], "B": [2, 1, 5], "C": [3, 3, 3] }) # 构造第二个数据集 df2 = pd.DataFrame({ "id": [1, 2, 3], "A": [2, 3, 4], "B": [2, 3, 4], "C": [2, 3, 4] }) # 按id合并,自动给同名列加指定后缀 merged_df = pd.merge(df1, df2, on="id", suffixes=("1", "2")) # 调整为要求的列顺序 # 列少可以直接手动指定 merged_df = merged_df[["id", "A1", "A2", "B1", "B2", "C1", "C2"]] # 如果列数量多,可以自动生成列顺序,避免手动拼写错误 # cols = ["id"] + [f"{col}{suffix}" for col in ["A", "B", "C"] for suffix in ["1", "2"]] # merged_df = merged_df[cols] # 输出验证结果 print(merged_df)
运行后输出的结果和要求的结构完全一致。
内容的提问来源于stack exchange,提问作者EGM8686
相关产品推荐
相关产品推荐

