Найти значения столбцов, которые присутствуют в течение нескольких месяцев в пандах - PullRequest
0 голосов
/ 30 января 2019

как отфильтровать идентификаторы, которые существуют в течение нескольких месяцев с DateTime в Pandas, Python 3

DateTime             ID                                         
2011-01-30 08:00:59 367341093   
2011-01-30 08:03:00 367341093   
2011-02-01 08:03:59 367341093
2011-02-01 08:05:00 367341093
2011-03-12 08:05:00 367341093
2011-03-12 08:05:00 367341093
2011-01-15 08:05:00 367341034
2011-01-15 08:05:00 367341034
2011-01-15 08:05:00 367341012
2011-01-15 08:05:00 367341012
2011-01-15 08:05:00 367341012
2011-02-23 08:05:00 367341045
2011-02-23 08:05:00 367341045
2011-03-01 08:05:00 367341045

В результате должно быть два идентификатора, которые находятся в нескольких месяцах 1,2 и 3

result = [367341045, 367341093]

1 Ответ

0 голосов
/ 30 января 2019

Вы можете сделать это с groupby и nunique:

u = df['DateTime'].dt.month.groupby(df.ID).nunique()
u

ID
367341012    1
367341034    1
367341045    2
367341093    3
Name: DateTime, dtype: int64

u.index[u > 1]
# Int64Index([367341045, 367341093], dtype='int64', name='ID')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...