2014-09-25 3 views
3

У меня есть многоуровневый структурированный массив. Конечный столбец должен содержать результат простого математического уравнения, основанного на других значениях в строке. Проблема в том, я получаю следующее сообщение об ошибке при попытке вычислить квадратный корень часть уравнения:Выполнение math.sqrt на столбце структурированного массива numpy

TypeError: only length-1 arrays can be converted to Python scalars

Ограничение в том, что я не могу перебирать массив, чтобы добавить значения по одному.

Вот пример, чтобы показать ошибку:

import numpy as np 
import math 

data = np.random.randint(-100, 100, (1, 6, 4)) 

data[:,3] = math.sqrt((0-data[:,0])**2 + (0-data[:,1])**2 + (0-data[:,2])**2) 

ответ

5

Вам просто нужно использовать np.sqrt вместо math.sqrt (последняя работает только на отдельных значений).

+1

Глупый меня! Спасибо, что выбрали это. – Carl

Смежные вопросы