Experiment Source RMSE
0 Experiment 10 sat8 931.453756
1 Experiment 10 sat8 861.855506
2 Experiment 10 sat8 859.305796
3 Experiment 10 sat8 655.863104
4 Experiment 10 sat8 935.915268
.. ... ... ...
571 Experiment 27 nel1 807.975352
572 Experiment 27 nel1 1146.975889
573 Experiment 27 nel1 1005.450225
574 Experiment 27 nel1 967.833854
575 Experiment 27 nel1 793.703938我想要处理上面的数据,以找出一个Source对给定Experiment的RMSE值最少的次数。结果应该如下所示:对于任何给定的Experiment,只有一个Source可以有最少的RMSE,因此任何给定的列都可以得到1。
sat8 0 0
nel1 1 1
Experiment 10 .... Experiment 27我试过使用枢轴表,但不确定如何用最小的Source来确定给定的Experiment
发布于 2020-05-03 04:49:51
按get_dummies列对每个组的最小索引(Source)使用DataFrameGroupBy.idxmin和RMSE:
df2 = (pd.get_dummies(df.set_index('Source')
.groupby('Experiment')['RMSE']
.idxmin()
).T
)
print (df2)
Experiment Experiment 10 Experiment 27
nel1 0 1
sat8 1 0细节
print (df.set_index('Source').groupby('Experiment')['RMSE'].idxmin())
Experiment
Experiment 10 sat8
Experiment 27 nel1
Name: RMSE, dtype: objecthttps://stackoverflow.com/questions/61569727
复制相似问题