использовать, где найти десятичный индекс элемента не удалось - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь использовать where, чтобы найти индекс целочисленного элемента, и он работает.

Но если я использую where, чтобы найти индекс десятичного элемента, и он возвращает пустой кортеж.

import numpy as np
a=np.array([[1,2],[4,5],[6,7]])
b=np.arange(1,10,1)
c=np.where(b==a[1,1])
c
(array([4]),)
c[0][0]
4
a=np.array([[1,2],[4,5],[6,7]])
s=a*0.001
b=b*0.001
c=np.where(b==a[1,1])
c
(array([], dtype=int32),)

Это фальшивый вопрос. Ошибка состоит в том, что целевой массив был построен с помощью метода numpy .linspace, и это даст некоторые элементы с большим количеством десятичных цифр. Я ввожу ограниченные данные di git, чтобы найти их в таком массиве, и np.where (array == data) не может найти точно совпадающие элементы. Решением является использование метода np.round для обрезки массива до ограниченного цифрового числа, такого же, как у данных.

...