Python数据帧操作



我正在尝试将以下输入数据帧转换为输出数据帧

import pandas as pd
data = {'Model1': [86,23,32,13,45,12],
'Model2': [96,98,34,12,22,19], 
'Model3': [56,23,44,12,32,33]
}
Input = pd.DataFrame(data, 
columns=['Model1','Model2','Model3'], 
index=['I1', 'I2','I3','I4','I5','I6'])
Output = pd.DataFrame(data={'Best Model': ['Model2','Model2', 'Model3','Model1', 'Model1', 'Model3'],
'Best Model Accuracy': [96,98,44,13,45,33]}, 
columns=['Best Model','Best Model Accuracy'], 
index=['I1', 'I2','I3','I4','I5','I6'])

逻辑:我有6个客户的3个模型精度结果,我想为每个客户选择具有精度的最佳模型。最佳模型是指对该客户具有最大精度的模型。

我能够做每一个的枢轴,但坚持为每个客户的逻辑找到最佳准确性

您可以使用idxmaxlookup:

idx = Input.idxmax(1)
output = pd.DataFrame({'Best Model':idx, 
'Best Acc':Input.lookup(Input.index, idx)
})

输出:

Best Model  Best Acc
I1     Model2        96
I2     Model2        98
I3     Model3        44
I4     Model1        13
I5     Model1        45
I6     Model3        33

最新更新