2011-07-17 4 views
4

Я использую функцию gmean() scipy для определения среднего геометрического значения массива numpy, содержащего выходы напряжения. Диапазон чисел от -80,0 до 30,0. В настоящее время матрица numpy является двумерной, давая напряжение для двух разных измерений.scipy stats геометрические средние возвращает NaN

array([[-60.0924, -60.0882], 
     [-80. , -80. ], 
     [-80. , -80. ], 
     ..., 
     [-60.9221, -66.0748], 
     [-61.0971, -65.9637], 
     [-61.2706, -65.8803]]) 

Однако я получаю NaN, когда я беру среднее геометрическое:

>>> from scipy import stats as scistats 
>>> scistats.gmean(voltages) 
array([ NaN, NaN]) 

Кто-нибудь есть идея, что может быть причиной этого? Я делаю что-то неправильно?

Заранее благодарен!

+2

Почему вы хотите вычислить среднее геометрическое отрицательных значений? Это не имеет никакого смысла. Вы хотите вычислить среднее геометрическое их абсолютных значений? –

ответ

10

Геометрическое среднее не может применяться к отрицательным значениям.

+0

Можете ли вы уточнить? – josh

+0

Если у вас есть четное число 'n' элементов и нечетное число отрицательных значений, вы закончите вычисление' n'-го корня отрицательного числа, которое не является реальным решением. – norok2

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