Python 将dict值转换为列表并取平均值

Python 将dict值转换为列表并取平均值,python,Python,我试图从某个字典键中提取值,并取这些值的平均值。我的字典“分数”的输出如下所示: { 'fit_time': array([0.36260605, 0.36630321, 0.28634191, 0.29873514, 0.15965009]), 'score_time': array([0.02901483, 0.03418779, 0.03244114, 0.03267598, 0.01934624]), 'test_acc': arr

我试图从某个字典键中提取值,并取这些值的平均值。我的字典“分数”的输出如下所示:

{
    'fit_time':       array([0.36260605, 0.36630321, 0.28634191, 0.29873514, 0.15965009]),
    'score_time':     array([0.02901483, 0.03418779, 0.03244114, 0.03267598, 0.01934624]),
    'test_acc':       array([0.83928571, 0.83928571, 0.81785714, 0.84464286, 0.83928571]),
    'train_acc':      array([0.90580357, 0.91071429, 0.90982143, 0.90625, 0.90758929]),
    'test_log_loss':  array([-0.38442156, -0.37268129, -0.37284406, -0.37891302, -0.43271307]),
    'train_log_loss': array([-0.23096467, -0.2320267, -0.23016542, -0.23322982, -0.22868747]),
    'test_recall':    array([0.32323232, 0.35353535, 0.27272727, 0.33333333, 0.23469388]),
     'train_recall':  array([0.55443038, 0.56962025, 0.54683544, 0.55696203, 0.55050505])
}
例如,为了隔离
测试精度
,我有以下代码:

accuracy.append(list(scores["test_acc"]))
这给了我:

[[0.8392857142857143, 0.8392857142857143, 0.8178571428571428, 0.8446428571428571, 0.8392857142857143]]
但是,为什么我试图通过
平均值(准确度)
来获取这个平均值,我得到了这个错误:

TypeError:无法将类型“list”转换为分子/分母


非常感谢您的建议

这是因为双[],您可以通过选择数组中的第一个数组来修复此问题

import statistics

listOfAccuracy = [[0.8392857142857143, 0.8392857142857143, 0.8178571428571428, 0.8446428571428571, 0.8392857142857143]]

print(statistics.mean(listOfAccuracy[0]))

返回,
0.8360714285714286
平均值(分数['test_acc'])
平均值(准确度[0])
什么是
准确度
变量?以及
数组
来自哪个包?平均值(准确度[0])对你有效?这是cross_validate软件包的输出。是的,它有效-谢谢你!啊谢谢你!当我最初从字典中选择准确性项目时,有没有一种方法可以先发制人?我无法测试这一点,因为我看不到“数组”或“准确性”的定义,但是请尝试替换,准确性。追加(列表(分数[“test_acc”]))准确度=列表(分数[“测试”])