Вырезание кадра данных из ближайшего значения, которое не является датой - PullRequest
1 голос
/ 20 октября 2019

У меня есть простой фрейм данных, как следует

df = pd.DataFrame({"A": [10,10,20,20,30], "B": [40,40,50,50,60]})

Мне интересно, хочу ли я получить возвращаемые строки, значение которых является ближайшим к данному значению. Например, если я хочу, чтобы в возвращаемых строках значения на A были ближайшими к 12, то результаты должны быть

A    B
10   40
10   40

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

1 Ответ

0 голосов
/ 20 октября 2019

Вы можете попробовать использовать pd.subtract , за которым следует pd.nsmallest

Value = 10
NoRows = 2
df.loc[df.A.subtract(Value).nsmallest(NoRows).index]

Out:

    A   B
0   10  40
1   10  40
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...