Предположим, у меня есть данные как в массиве
X = [ x1 x2 ... xn ]
когда я использую np.split(X,n) будет разделяться на это
ARR = [ [arr1] ,[arr2] ,.... [arrn] ]
Теперь я бы получил эту группу списка массивов в качестве входных данных
В этом случае scipy.stats.kruskal
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mstats.kruskalwallis.html
Вот образец
random_array = np.arange(1000)
list_array = np.array_split(random_array, 4)
что касается примера, я могу использовать функцию kruskal для расчета
from scipy.stats import kruskal
kruskal(list_array[0],list_array[1],list_array[2],list_array[3])
Проблема в том, что я не хочу писать iterate list_array[0] в list_array[3], но я хочу передать переменную list_array в прямой аргумент
kruskal(list_array)
как все данные как внутри аргумента данных. есть ли способ удалить массив и передать весь массив внутри как и аргумент?
Это именно то, что делает звездный оператор (*
):
Вместо kruskal(list_array[0], list_array[1], list_array[2], list_array[3])
вы можете написать: kruskal(*list_array)
для произвольной длины list_array
.
Для получения дополнительной информации: Что означает оператор звезды и двойной звезды в вызове функции?
Вот для чего нужен звездный оператор: stackoverflow.com/questions/2921847/…