У меня есть базовый код ниже, который проверяет для нормального распределения:Статистика тест по словарю значения
import numpy as np
import scipy.stats as stats
results = stats.normaltest([various numbers manually inputted])
z,pval = results
if(pval < 0.05):
print "Data is not normally distributed"
if(pval > 0.05):
print "Data is normally distributed"
Однако я хотел бы, чтобы добавить его в конец скрипта, который создает ценности и помещает их в словарь (названный «результат»), поэтому я не должен копировать значения вручную, но когда я использую «результат» вместо цифр для статы тестирования я получаю
34 print("%f seconds" % (time.time() - start_time)) #completes measuring time taken for script to run
---> 35 results = stats.normaltest([result])
36 z,pval = results
37 if(pval < 0.05):
TypeError: unsupported operand type(s) for /: 'dict' and 'long'
Любые идеи?
Вот код для значений, идущих в словарь:
new_dictionary = {}
count = 0
for m, n in result.items():
count += 1
new_dictionary['month_{}'.format(count)] = result
м является именем файла (как код извлекает из файла для каждого значения) и п вычисленного значения для этого файла
Можете ли вы показать код, в котором вы пытаетесь поместить значение в словарь? – TheBlackCat
Вы помещаете словарь 'result' в каждое место' new_dictionary'. Вероятно, это проблема, но без дополнительной информации нет способа сказать, как ее изменить. Вероятно, вы должны использовать либо 'm', либо' n', либо оба. –
Какая строка является ошибкой? –