Значение Erorr при создании массива рангов - PullRequest
0 голосов
/ 06 апреля 2020

Как исправить эту ошибку, показанную в операторе assert

import numpy as np

def rankArray(arr):

lst=list()
for i in range(arr.shape[0]):
    for j in range(arr.shape[1]):
        lst.append(arr[i][j])

lst.sort()
rank_arr=np.zeros((arr.shape[0],arr.shape[1]))

for i in range(arr.shape[0]):
    for j in range(arr.shape[1]):
        rank_arr[i][j]=lst.index(arr[i][j])

return rank_arr

assert(rankArray(np.array([[9, 4, 15, 0, 17], [16,17,8,9,0]])) == np.array([[4,2, 6, 0, 8], [7, 9, 3, 5, 1]]).tolist())

ValueError Traceback (последний вызов последнего) в 1 "" "Test для rankArray" "" - ---> 2 assert (rankArray (np.array ([[9, 4, 15, 0, 17], [16,17,8,9,0]])) == np.array ([[4, 2, 6, 0, 8], [7, 9, 3, 5, 1]]). Tolist ()) 3 print ("Примеры тестов пройдены", '\ U0001F44D')

ValueError: The Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()

...