Я пишу код в Джулии. Здесь у меня есть фрейм данных размером 272x32. Моя цель - найти минимум в каждом столбце и сохранить их в массиве из 32 элементов. Чтобы выполнить это, я создал цикл for, перебирающий диапазон столбцов в фрейме данных. Однако, при назначении значений глобальными, на выходе сохраняется только последнее значение. Но я бы хотел, чтобы в качестве каждой записи в массиве было минимум столбцов, которые я могу использовать для матричных арифметических операций.
Фрагмент кода:
n = ncol(variables)
for i in 1:n
global mins = minimum(variables[!, i])
global maxs = maximum(variables[!, i])
end
Пожалуйста, посоветуйте, как решить эту проблему.
С уважением,
Я не уверен на 100%, что это то, о чем вы просите, но, похоже, это так:
mins = minimum.(eachcol(variables))
maxs = maximum.(eachcol(variables))
Есть еще один подход к решению этой проблемы,
mins = zeros(n)
maxs = zeros(n)
n = ncol(variables)
for i in 1:n
mins[i] = minimum(variables[!, i])
maxs[i] = maximum(variables[!, i])
end
Но я не знаю, как это повлияет на скорость выполнения или выделение памяти?
Спасибо @Bogumil Kaminski за предложение, оно решает проблему.