0
특정 깊이에서 겹치는 부분을 계산하여 다양한 깊이에서 사용하는이 코드를 사용하려고합니다. 그러나for 루프를 사용하여 함수 자동화
def score(list1, list2, depth):
len_list = len(list1)
frac = numpy.ceil(depth * len_list)
frac = int(frac)
s = slice(0,frac)
list1 = list1[s]
list2 = list2[s]
return len(set(list1)&set(list2))/float(len(set(list1) | set(list2)))
if __name__ == "__main__":
list1 = [2,4,6,8,10]
list2 = [1,2,3,4,5]
a = [numpy.arange(.01,1.01,.01)]
for i in a:
print(score(list1, list2, i))
, 나는 오류가 점점 오전이 코드를 실행하려고하면, 0.02
frac = int(frac)
TypeError: only length-1 arrays can be converted to Python scalars
변수 깊이가 [0.01 인 변수의 목록 (실제로는 것을 의미 ..기타]).
함수를 전체 목록처럼 보이지 않고 '깊이'매개 변수의 인수 하나만 사용하도록 어떻게 수정합니까?
감사
케빈처럼
나는 numpy에 대해 아무 것도 안다.하지만'a = numpy.arange (.01,1.01, .01)'을했다면 어떻게 될까? 대괄호는 불필요한 것처럼 보입니다. – Kevin
잡기에 감사드립니다. – Labrat