2015-03-04 4 views
0

Мне нужно найти минимум по всем элементам из столбца, который имеет максимальную сумму столбца. я сделать следующие вещи:Минимальный элемент из столбца матрицы

Создание матрицы случайных

from numpy import * 
a = random.rand(5,4) 

Затем вычислить сумму каждого столбца и найти индекс максимального элемента

c = a.sum(axis=0) 
d = argmax(c) 

Затем я пытаюсь найти минимальное количество в этот столбец, но я довольно плохо синтаксис, я знаю, как найти минимальный элемент в строке с текущим индексом.

e = min(a[d]) 

Но как я могу изменить его для столбцов?

ответ

3

Вы можете извлечь минимальное значение столбца следующим образом (с использованием переменных, которые вы указали,):

e=a[:,d].min() 

Обратите внимание, что с помощью

a=min(a[:,d]) 

сломает вас из Numpy, замедляя вещи вниз (спасибо, что указали это @SaulloCastro).

+1

вы должны использовать 'a [:, d] .min()', чтобы гарантировать, что будет вызван метод NumPy, иначе вы будете перебирать массив, как в итерабельном объекте Python (не на уровне C) –

Смежные вопросы