Сравнивая многие метки времени с пандами - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть два кадра данных разных размеров, содержащие временные метки.Мне нужно найти ближайшие метки времени.В df AI нужно найти все первые временные метки после любой из временных меток df B. Каждые кадры данных имеют около 100 000 строк, поэтому итерация не подходит, и даже df.apply() заняло около 6 минут.

Например:

A:
11
12
15
16
18
20
25
30
50

B:
14
19
22
27

result:
15
20
25
30

1 Ответ

2 голосов
/ 26 сентября 2019

Использование Series.searchsorted:

out = a.loc[a['A'].searchsorted(b['B']), 'A']
print (out)
2    15
5    20
6    25
7    30
Name: A, dtype: int64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...