我有3个数据帧:
df1是
Total Total Total
Tool Technology One Two Three
Alt AI 15 6 9 df2是
Check Check Check
Tool Technology One Two Three
Alt AI 10 4 6df3是
Uncheck Uncheck Uncheck
Tool Technology One Two Three
Alt AI 18 11 7 合并后的最终数据帧应如下所示
Total Total Total Check Check Check Uncheck Uncheck Uncheck
Tool Technology One Two Three One Two Three One Two Three
Alt AI 10 4 6 15 6 9 18 11 7 我如何才能做到这一点?
发布于 2021-01-06 17:59:27
有三种合并多索引行的方法。不清楚您的DataFrames是否也有多个索引列。使用to_dict()方法提供
import io
df1 = pd.read_csv(io.StringIO(""" Total Total Total
Tool Technology One Two Three
Alt AI 15 6 9 """), sep="\s+", header=1).set_index(["Tool","Technology"])
df1 = df1.rename(columns={c:f"Total {c}" for c in df1.columns})
df2 = pd.read_csv(io.StringIO(""" Check Check Check
Tool Technology One Two Three
Alt AI 10 4 6"""), sep="\s+", header=1).set_index(["Tool","Technology"])
df2 = df2.rename(columns={c:f"Check {c}" for c in df2.columns})
print(pd.concat([df1,df2], axis=1).to_string())
print(df1.join(df2).to_string())
print(df1.merge(df2, on=["Tool","Technology"]).to_string())输出
Total One Total Two Total Three Check One Check Two Check Three
Tool Technology
Alt AI 15 6 9 10 4 6
Total One Total Two Total Three Check One Check Two Check Three
Tool Technology
Alt AI 15 6 9 10 4 6
Total One Total Two Total Three Check One Check Two Check Three
Tool Technology
Alt AI 15 6 9 10 4 6https://stackoverflow.com/questions/65592108
复制相似问题