Получение индекса с плавающей точкой в ​​столбце с использованием панд - PullRequest
0 голосов
/ 02 июня 2018

У меня есть набор данных, который я извлекаю с помощью панд.Это выглядит так:

import pandas as pd
dataset=pd.read_csv('D:\\filename.csv', header=None, usecols=3,4,10,16,22,28])
time=dataset.iloc[:,0]

Теперь, набор данных 'time' имеет значение 0,00017 где-то вниз по столбцу, и я хочу найти индексный номер этого местоположения.Как я могу получить это?

1 Ответ

0 голосов
/ 02 июня 2018

Предполагая, что вы имеете дело с числами с плавающей точкой, вы не можете использовать здесь сравнение на равенство (из-за появляющихся неточностей с плавающей точкой).

Используйте np.isclose + np.argmax:

idx = np.isclose(df['time'], 0.00017).argmax()

Если существует вероятность, что это значение может не существовать:

m = np.isclose(df['time'], 0.00017)
if m.sum() > 0:
    idx = m.argmax()

В противном случае установите idx вчто угодно (None, -1 и т. д.).

...