Вот сценарий:Как извлечь индекс значения в массив numpy?
У меня есть следующие переменные:
val = [('am', '<f8'), ('fr', '<f8')] # val is type numpy.recarray
am = [12.33, 1.22, 5.43, 15.23] # am is type numpy.ndarray
fr = [0.11, 1.23, 2.01, 1.01] # fr is type numpy.ndarray
Что мне нужно, чтобы обнаружить индекс для ат = 12,33 и я = 15.23, когда извлеченный (в этом случае индексы [ 0] и [3]), мне нужно создать новые переменные:
new_am = [12.33, 15.23]
new_fr = [0.11, 1.01]
Мой вопрос: Любая идея о том, как извлечь индексы?
Я уже использовал .index и np.where, но это, кажется, есть проблемы, так как я получил сообщение об ошибке для .index ---> «AttributeError: '' numpy.ndarray объект не имеет атрибута .index "и для np.where возвращение индекса ничего ---> "массив ([], DTYPE = int64)"
Спасибо за любую идею!
Итак, вы хотите, чтобы индекс был «np.array ([0, 3]) здесь? 'np.where (am == 12.33) [0]' не дает вам то, что вам нужно? – Psidom
Правильно, и с этим ... создайте «new_am» и «new_fr», представленные выше. – FMEZA
no ... 'np.where (am == 12.33) [0]' вернуть пустой массив – FMEZA