考虑在每个数据帧上设置索引,然后使用以下命令运行水平合并
pd.concat:
dfs = [df.set_index(['profile', 'depth']) for df in [df1, df2, df3]]print(pd.concat(dfs, axis=1).reset_index())# profile depth VAR1 VAR2 VAR3# 0 profile_1 0.5 38.198002 NaN NaN# 1 profile_1 0.6 38.198002 0.20440 NaN# 2 profile_1 1.1 NaN 0.20442 NaN# 3 profile_1 1.2 NaN 0.20446 15.188# 4 profile_1 1.3 38.200001 NaN 15.182# 5 profile_1 1.4 NaN NaN 15.182



