我有一组 3-27 的值,有 20 个有限值:
A = [(0,21),(1,12),(2,15),(3,3),(4,21),(5,15),(6,27),(7,21),(8,9),(9,27),(10,12),(11,9),(12,12),(13,3),(14,9),(15,12),(16,6),(17,3),(18,9),(19,15)]
我想学习如何创建一个包含 9 个 bin 的 numpy 数组,每个 bin 的范围为给定元组 [1] 的 -1 和 +1 整数,3-27 范围内的 3 的倍数(但这应该可以与整数和范围的任何其他组合互换)。最后,我希望能够创建一个看起来像这样的矩阵:
[[0,0,0,0,0,0,1,0,0],
[0,0,0,1,0,0,0,0,0],
[0,0,0,0,1,0,0,0,0],
[1,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,1,0,0,0,0],
[0,0,0,0,0,0,0,0,1],
....]
我正在阅读关于 numpy 的内容,(num, bins) = histogram(x, bins=None, range=None)
但我不太确定如何去做。
我在想我必须遍历'A'以获得唯一值('a'),然后按(a-1,a + 1)进行范围,以获得我想要的箱数len(unique_values)
。但后来我迷路了。谁能指导我?