2024-04-24 19:20:21 发布
网友
我有一本字典是这样写的:
dict = {1092267: '0.187', 524292: '-0.350', 524293: '0.029', 524294: '0.216'}
所以有一个id,然后是一个字符串中的值(真正的字典包含10000个这样的id)。我想用x轴上的绝对值做一个直方图,从0-0.1,0.1-0.2,0.2-0.3等等一直到0.9-1.0。y轴应计算0-0.1等范围内数值出现的数量。 我该怎么做???在
您可以使用numpy.histogram来创建直方图的存储单元。 首先,获取所有字典值的绝对值(因为id是不相关的)。在
numpy.histogram
dict_values = [abs(float(i)) for i in dict.values()]
然后,使用numpy.histogram显式指定值的范围。在
不使用数字直方图,您可以尝试:
test = {1092267: '0.187', 524292: '-0.350', 524293: '0.029', 524294: '0.216'} intervals = [(-2, 0.1), (0.1, 0.2), (0.2, 0.3), (0.3, 0.4)] count = [] for inf, sup in intervals: count.append(len([x for x in test.values() if inf < float(x) < sup]))
然后,count,即直方图,将有[2,1,1,0]。这样您就可以指定任意范围来定义存储箱。如果要打印它,可以使用matplotlib(example here)。在
1:http://matplotlib.org/1.3.0/examples/pylab_examples/histogram_demo_extended.html
您可以使用
numpy.histogram
来创建直方图的存储单元。 首先,获取所有字典值的绝对值(因为id是不相关的)。在然后,使用
^{pr2}$numpy.histogram
显式指定值的范围。在不使用数字直方图,您可以尝试:
然后,count,即直方图,将有[2,1,1,0]。这样您就可以指定任意范围来定义存储箱。如果要打印它,可以使用matplotlib(example here)。在
1:http://matplotlib.org/1.3.0/examples/pylab_examples/histogram_demo_extended.html
相关问题 更多 >
编程相关推荐