Python 直方图返回具有两个不同长度列表的元组
返回带有列表的元组,该列表包括一个数字在我的输入列表中出现的频率以及作为列表的bin。 输出如下所示:Python 直方图返回具有两个不同长度列表的元组,python,python-3.x,numpy,Python,Python 3.x,Numpy,返回带有列表的元组,该列表包括一个数字在我的输入列表中出现的频率以及作为列表的bin。 输出如下所示: np.histogram([1,2,1,1,1,1,3,5], bins=[0,1,2,3,4,5]) 如果我想打印易于阅读的数据,如: (array([0, 5, 1, 1, 1], dtype=int32), array([0, 1, 2, 3, 4, 5])) 我怎么能说这四个出现了0次呢?在您的特定情况下,您正在寻找左箱子边界(因为它包含在箱子中,而右边界不包含在箱子中-除了最后一
np.histogram([1,2,1,1,1,1,3,5], bins=[0,1,2,3,4,5])
如果我想打印易于阅读的数据,如:
(array([0, 5, 1, 1, 1], dtype=int32), array([0, 1, 2, 3, 4, 5]))
我怎么能说这四个出现了0次呢?在您的特定情况下,您正在寻找左箱子边界(因为它包含在箱子中,而右边界不包含在箱子中-除了最后一个箱子也包含它自己的右边界)。函数
zip
组合两个列表/数组。如果其中一个列表较长,它将被截断,这正是您想要的:
0 occurs 0 times
1 occurs 5 times
....
如果您想计算特定值,而不是将其装箱,只需使用
计数器
即可。
hist = np.histogram([1,2,1,1,1,1,3,5], bins=[0,1,2,3,4,5,6])
for count, left_bin in zip(*hist):
print(left_bin, count)
#0 0
#1 5
#2 1
#3 1
#4 0
#5 1