|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要求写一个程序,对values进行类似于直方图的数据分组,dividers是分组的节点,例如
values=(2.09, 0.5, 3.48, 1.44, 5.2, 2.86, 2.62, 6.31)
dividers=(2,4)
那么最后就会输出一个array([2,4,2])
大家可以看我的程序
def histogram(values,dividers):
b=np.array([0])
a=b.repeat(len(dividers)+1)
for index1 in range(0,len(values)):
if values[index1] <= dividers[0]:
a[0] += 1
else:
if values[index1] > dividers[len(dividers)-1]:
a[len(dividers)] += 1
else:
for index2 in range(0,len(dividers)-1):
if dividers[index2] < values[index1] <= dividers[index2+1]:
a[index2+1] += 1
老师提供了一个验证程序的方法:
import numpy.random as rnd
values = rnd.normal(0, 1, 50)
import numpy as np
range = np.max(values) - np.min(values)
dividers = (np.arange(1, 10) * (range / 10)) + np.min(values)
Traceback (most recent call last):
File "<ipython-input-21-d45162dc8553>", line 1, in <module>
histogram(a,b)
File "<ipython-input-16-792a88f84037>", line 4, in histogram
for index1 in range(0,len(values)):
TypeError: 'numpy.float64' object is not callable
出现这个错误是什么情况
|
|