питон: numpy и np.where.Индекс - PullRequest
       2

питон: numpy и np.where.Индекс

0 голосов
/ 18 декабря 2018

У меня есть list=[12,45,7,15,9], и я отсортировал его в порядке убывания.

Так что теперь у меня есть [45,15,12,9,7] Теперь я должен взять первые 3 элемента, и я должен найти индексыПервый список, где (45,15,12).Я использовал np.where, но это ошибка:

__main__:1: DeprecationWarning: elementwise == comparison failed; this will raise an error in the future.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Другое решение для того, что вы пытаетесь сделать, может быть следующим:

list = np.array([12,45,7,15,9])
ind = list.argsort()[-3:][::-1]

output:

array ([1, 3, 0], dtype = int64)

это даст вам значения трех элементов.

0 голосов
/ 18 декабря 2018

звучит так, будто вы пытаетесь сделать что-то вроде np.where (x, y, z), когда лучше искать индексы по отдельности.Кроме того, это помогает убедиться, что ваш список напечатан в виде массива numpy, прежде чем пытаться использовать np.where в нем.

import numpy as np

alist=[12,45,7,15,9] 
alist=np.array(alist)

anewlist=[45,15,12,9,7]
anewlist=np.array(anewlist)
x=anewlist[0]
y=anewlist[1]
z=anewlist[2]
print(np.where(alist == x))
print(np.where(alist == y))
print(np.where(alist == z))

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