Я пытаюсь использовать scipy.stats.f_oneway()
для выполнения ANOVA.Он принимает array_like
в качестве ввода, что бы это ни значило.
numpy: формальное определение объектов типа «массив»?
В любом случае, это работает, когда я вручную набираюданные для сравнения.Например, это работает: Входные данные:
list1 = [3,4,5,6]
list2 = [4,5,6,7]
list3 = [5,6,7,8]
sp.stats.f_oneway(list1, list2, list3)
Выходные данные:
F_onewayResult(statistic=2.3999, pvalue=0.1461)
Однако я хочу сравнить множество различных списков, и я хотел бы сравнить их динамически в моем коде.
Это то, что я хочу:
list1 = [3,4,5,6]
list2 = [4,5,6,7]
list3 = [5,6,7,8]
listOfLists = [list1, list2, list3]
sp.stats.f_oneway(listOfLists)
Однако, f_oneway не нравится этот формат ввода.Поэтому я подумал, может быть, я мог бы использовать цикл для создания строки, а затем распаковать ее для использования в качестве аргумента, например:
list1 = [3,4,5,6]
list2 = [4,5,6,7]
list3 = [5,6,7,8]
listString = 'list1, list2, list3'
sp.stats.f_oneway(eval(listString))
Однако это не работает.Это заставляет меня поверить, что эта функция требует ввода, например:
sp.stats.f_oneway(list1, list2, list3)
Как я могу использовать строку для ввода ввода, требуемого функцией f_oneway?