d = collections.OrderedDict()
d
{'A': array([[ 29.503],
[ 31.829],
[ 13.078],
...,
[ 43.227],
[ 53.028],
[ 43.928]]),
'B': array([[ 28.738],
[ 68.151],
[ 49.02 ],
...,
[ 296.73 ],
[ 107.052],
[ 87.845]]),
'C': array([[ 11.288],
[ 31.343],
[ 71.269],
...,
[ 92.106],
[ 34.668],
[ 41.614]])}
如果我想获得数组A [0],B [0]&的每个值的最大值。 C [0],然后A [1],B [1]& C [1],......等。并返回一个数组[A,B,C ...,B]等。
然后使用y = max(d.iterkeys(), key=lambda k: d[k])
然后它说,
ValueError:具有多个元素的数组的真值 暧昧。使用a.any()或a.all()
所以我想寻求帮助,如果我能得到一个阵列[A,B,C ......,B]等?
谢谢
答案 0 :(得分:2)
这样的事情:
grails clean
grails clean --refresh-dependencies
grails compile
答案 1 :(得分:1)
我建议你不要将numpy
与非numpy
混在一起。你在寻找的是:
from numpy import array,concatenate
//DEFINE MATRICES HERE, DONT NEED DICT - I use 'd' for the example, you don\'t need it.
mapping = array(['A','B','C'])
print mapping[concatenate((d['A'],d['B'],d['C']),axis=1).argmax(axis=1)]
说明:
我拿了你的列数组,将它们粘贴到一个矩阵,其中每一行都是你想要测试的表格的A B C,然后argmax
得到列索引,其中找到了最大值。使用'mapping'我将数字索引转换为字母。尝试打印而不理解。