Numpy: как выбрать максимум массива в другие массивы - PullRequest
0 голосов
/ 22 января 2019

Мои данные выглядят так:

array = np.array([1,2],[3,4],[4,5])

Как найти максимум первого элемента [0] среди всех массивов и взять второй элемент этого конкретного массива.В этом случае это будет: max первого элемента всех массивов = 4, второй элемент этого конкретного массива = 5.

Я знаю, как это сделать с помощью цикла for, но поскольку мои данные действительно очень большие, у кого-нибудь есть идеи, как это сделать проще?Спасибо!

Ответы [ 3 ]

0 голосов
/ 22 января 2019

Что вы хотите сделать, если имеется больше элементов с максимальным первым элементом, чем 1, например, для ввода: [[1,3],[1,4]] вывод должен быть 3 или 4? В любом случае вы можете сделать это без numpy следующим образом

data = [[1,2],[3,4],[4,5]]
m = max(data,key=lambda x:x[0])[1]
print(m) #prints 5

получит первое максимальное значение, если вы замените среднюю строку на m = max (данные) [1] он получил бы максимальное второе значение среди максимальных первых значений

0 голосов
/ 22 января 2019

1) найти индекс MAX VALUE первых элементов

array = np.array([[1,2],[3,4],[4,5]])

найти это значение среди первых элементов

index = np.where(array[:,0] == np.amax(array[:,0]))

2) найти второй элемент

element = array[index][0][1]

Обратите внимание, что среди первых элементов может быть больше максимальных значений, поэтому array [index] находит все такие массивы, и вам решать, какой из них вы хотите исследовать

0 голосов
/ 22 января 2019

вам нужно сделать это, чтобы получить «5»:

    array[np.argmax(array[:,0],axis=0),1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...