在Python中将直方图值转换为Int数组

时间:2018-08-14 22:54:57

标签: python arrays histogram

每个人。我使用一个大小为1x1000的数组创建了一个直方图,其值的范围为0到99。我想将直方图的值存储为一个int数组。但是,当我运行该程序时,该程序得到了以下结果(由于随机,每个人的数值都不同):

  

(array([93.,101.,119.,91.,97.,110.,102.,111.,85.,91.]),array([0.,9.9,19.8,29.7 ,39.6,49.5,59.4,69.3,79.2,89.1,99.]),)

我想得到这样的结果:

  

[93 101119119 97 110 102 111 85 91]

可以帮忙吗?另外,我得到的是哪种数组?看起来像我以前从未见过的

import numpy as np
import matplotlib.pyplot as plt

x = np.random.randint(100, size=1000)   
y = plt.hist(x,10)  

print(y)

1 个答案:

答案 0 :(得分:2)

处理随机数时,您可以使用np.random.seed(n)来确保运行您的代码的其他人具有相同的数字。

根据文档,您从plt.hist()返回了bin值和bin边。

看看以下内容:

print(y[0])
 [109. 109.  82. 117.  84. 101.  80. 108. 110. 100.]

[type(i) for i in y[0]]
 [<class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>, <class 'numpy.float64'>]

您可以将y[0]分配给任何您想做的事情。