Вычитание массивов в Numpy - PullRequest
0 голосов
/ 06 апреля 2019

Я разделил два массива на соответствующие им значения x и y.Я хочу вычесть x-значения и y-значения.

arrayOneXValue = clusterCenters[:,0]
arrayTwoXValue = createArray[:,0]
arrayOneYValue = clusterCenters[:,1]
arrayYValue = createArray[:,1]

subtractXValues = np.subtract(arrayOneXValue, arrayTwoXValue)
subtractYValues = np.subtract(arrayOneYValue, arrayTwoXValue)

print(subtractXValues)
print(subtractYValues)

Я ожидал увидеть два массива с вычтенными значениями, соответствующими значениям x и y в них.Вместо этого я получаю:

ufunc 'subtract' did not contain a loop with signature matching types 
    dtype('<U21') dtype('<U21') dtype('<U21')

Любые предложения о том, почему я получаю это сообщение и где моя логическая ошибка, с благодарностью.

1 Ответ

1 голос
/ 06 апреля 2019

Возможная ошибка, которую я заметил, находится в строке:

subtractYValues = np.subtract(arrayOneYValue, arrayTwoXValue)

Вторая матрица: arrayTwoXValue вместо arrayYValue . Возможно, это должно быть:

subtractYValues = np.subtract(arrayOneYValue, arrayYValue)

Кроме того, ошибка вызвана несоответствием типов данных массива. Если бы вы опубликовали пример того, что содержится в массивах, я мог бы уточнить. Тем не менее, вот пример.

a = np.array([1, 2])
b = np.array([1, 'a'])
c = np.subtract(a, b)

Выход: Ошибка TypeEr: ufunc 'subtract' не содержит цикл с типами соответствия сигнатуры dtype ('U21') dtype ('U21') dtype ('U21')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...