Python 数据帧操作
Python dataframe manupulation
我正在尝试将以下输入数据帧转换为输出数据帧
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 个模型精度结果,我想为每个客户选择精度最好的模型。最佳模型意味着该模型对客户来说具有最大的准确性。
我能够做每一个的关键,但坚持为每个客户逻辑找到最佳准确性
您可以使用 idxmax
和 lookup
:
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
我正在尝试将以下输入数据帧转换为输出数据帧
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 个模型精度结果,我想为每个客户选择精度最好的模型。最佳模型意味着该模型对客户来说具有最大的准确性。
我能够做每一个的关键,但坚持为每个客户逻辑找到最佳准确性
您可以使用 idxmax
和 lookup
:
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