Отфильтровать дублированные данные в панде - PullRequest
0 голосов
/ 03 марта 2019

У меня есть фрейм данных с 3 столбцами ['id', 'city', 'time']:

   city  id       time
0   CA   1   2019-01-01 05:34:21
1   CA   1   2019-01-01 08:10:21
2   CA   1   2019-02-01 06:10:21
3   NY   1   2019-02-01 16:10:21
4   NY   1   2019-02-01 18:10:21
5   CA   1   2019-02-01 22:10:21
6   CA   1   2019-02-02 02:10:21

Я сталкиваюсь с проблемой, когда хочу отфильтровать дублированные данные в соответствии с 'city', покаоставьте наименьшее «время», например:

   city   id       time
0   CA    1    2019-01-01 05:34:21
1   NY    1    2019-02-01 16:10:21
2   CA    1    2019-02-01 22:10:21

Поскольку набор данных достаточно большой, было бы лучше не использовать для него циклы.Как я могу это сделать?

Большое спасибо.

1 Ответ

0 голосов
/ 03 марта 2019

Вы можете использовать:

df_new=df.groupby([df.city.ne(df.city.shift()).cumsum(),'city'],as_index=False).min()
print(df_new)

  city  id                 time
0   CA   1  2019-01-01 05:34:21
1   NY   1  2019-02-01 16:10:21
2   CA   1  2019-02-01 22:10:21
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...