每个人。我使用一个大小为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)
答案 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]
分配给任何您想做的事情。