#python #statistics #gaussian
Вопрос:
Я сгенерировал множество испытаний (наборов данных) для определенного распределения по Гауссу (в частности, 1000 испытаний) и хочу рассчитать среднее, медиану и std для ВСЕХ 1000 испытаний. Каждое испытание содержит 100 точек данных. Испытания были созданы с использованием этого кода:
import random
import numpy as np
import numpy.random as ra
import statistics
#Defining variables for mu, sigma, number of trials, and N is number of data points for each trial
mu, sigma, trials, N = 0, 1, 1000, 100
#This makes the random numbers generated not change when rerunning the code
np.random.seed(0)
data = np.random.normal(loc=mu, scale=sigma, size=(trials, N))
#This generates 1,000 data sets each with 100 data points from the given mu and sigma
Теперь вот где я застрял. Допустим, я хочу рассчитать среднее значение для каждого из 1000 испытаний. Я думал, используя:
statistics.mean(data)
это сработало бы, но это дает мне
Ошибка типа: не удается преобразовать тип «ndarray» в числитель/знаменатель
Любая помощь будет очень признательна!
Комментарии:
1. Зачем вам нужен модуль статистики? Вы можете просто пойти с numpy и использовать
numpy.mean()
,numpy.std()
, и т. Д2. Спасибо за предложение, но это не вычисляет среднее значение для КАЖДОГО испытания, оно делает это для всего процесса.
3. Вы можете использовать
data.mean(axis=1)
иdata.std(axis=1)
4. Я думаю, это сработало! Спасибо, Крис!
5. Есть ли один для медианы? Я попытался использовать data.median(ось=1), но это дает мне ошибку атрибута: объект numpy.ndarray не имеет атрибута «медиана»