我有两个pandas数据帧作为输出:
Modeling Methods(Overall Themes & FR) RMSE (CV=10)
0 Lasso -0.559883
1 SVR -0.642521
2 NuSVR -0.602523
3 GradientBoostingRegressor -0.773394
4 RandomForestRegressor -0.866475
和
Modeling Methods(4 Themes & FR) RMSE (CV=10)
0 Lasso -0.559883
1 SVR -0.655144
2 NuSVR -0.639760
3 GradientBoostingRegressor -0.860851
4 RandomForestRegressor -0.818647
我想以下列形式加入这两个数据框:
Lasso SVR NuSVR GradientBoostingRegressor RandomForestRegressor
0 Modeling Methods(4 Themes & FR) -0.55 -0.65 -0.63 -0.86 -0.81
1 Modeling Methods(Overall Themes & FR) -0.55 -0.64 -0.60 -0.77 -0.86
我使用了以下代码,但结果不符合预期
frames = [factor_flood_response, only_flood_response, Theme4_flood_response,Overall_Theme_flood_response]
result = pd.concat(frames, axis=0, join='outer')
print(result)
答案 0 :(得分:0)
让我们试试这个:
pd.concat([i.set_index(i.columns[0]).rename(columns={'RMSE (CV=10)':i.columns[0]}).T for i in [df1,df2]])
输出:
Lasso SVR NuSVR \
Modeling Methos(Overall Themes & FR) -0.559883 -0.642521 -0.602523
Modeling Methods(4 Themes & FR) -0.559883 -0.655144 -0.639760
GradientBoostingRegressor \
Modeling Methos(Overall Themes & FR) -0.773394
Modeling Methods(4 Themes & FR) -0.860851
RandomForestRegressor
Modeling Methos(Overall Themes & FR) -0.866475
Modeling Methods(4 Themes & FR) -0.818647
使用list comprehension和set_index,重命名一些列,我们可以得到上面的结果:
print(df1)
Modeling Methos(Overall Themes & FR) RMSE (CV=10)
0 Lasso -0.559883
1 SVR -0.642521
2 NuSVR -0.602523
3 GradientBoostingRegressor -0.773394
4 RandomForestRegressor -0.866475
print(df2)
Modeling Methods(4 Themes & FR) RMSE (CV=10)
0 Lasso -0.559883
1 SVR -0.655144
2 NuSVR -0.639760
3 GradientBoostingRegressor -0.860851
4 RandomForestRegressor -0.818647