Проблема в том, что X
и Y
являются только Python list
в этом случае.Если бы вы сделали type(Y)
, вы бы получили list
.Поскольку вы индексируете в список с помощью np.array
, Python не знает, что это такое, и выдает ошибку, потому что вы делаете недопустимые операции с list
.Вместо этого вам нужно, чтобы X
и Y
также имели тип np.array
>>> ind_b
array([6, 2, 7, 4, 0, 5, 7, 0])
>>> np.array(Y)[ind_b]
array([4, 2, 6, 3, 1, 2, 6, 1])
>>> Y = np.array(Y)
>>> X = np.array(X)
>>> Y_b = Y[ind_b]
>>> Y_b
array([4, 2, 6, 3, 1, 2, 6, 1])
>>> X_b = X[ind_b]
>>> X_b
array([5, 3, 2, 3, 1, 1, 2, 1])
Быстрое решение состоит в том, чтобы изменить его так, чтобы назначения были:
Y = np.array([1,4,2,5,3,2,4,6])
X = np.array([1,2,3,4,3,1,5,2])