Получить значение из строки, зациклив с определенным условием группового режима в Pandas - PullRequest
0 голосов
/ 02 октября 2019

У меня есть фрейм данных, который выглядит так:

uid date        value
573 2019-09-01  0.0
573 2019-09-23  22.0
557 2019-08-20  0.0
557 2019-08-25  5.0
557 2019-09-05  11.0
556 2019-08-24  0.0
556 2019-09-05  12.0
550 2019-08-27  0.0
550 2019-08-29  2.0
550 2019-09-11  13.0
532 2019-07-29  0.0
532 2019-07-31  2.0

Мне нужно получить второе значение для каждого пользователя (что означает 22.0 для пользователя 573 , 5.0 для пользователя 557 и т. Д.).

Я новичок в python и не могу понять, что такое groupby iterrowsили еще. Кто-нибудь может помочь?

1 Ответ

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

Сначала убедитесь, что данные отсортированы так, как вы ожидаете, с помощью:

df = df.sort_values(['uid', 'date'])

Затем получите только вторую строку каждого работника (предыдущий такой же uid, но предыдущийне то же самое uid) использовать:

df[(df['uid'] == df['uid'].shift()) & (df['uid'] != df['uid'].shift(2))][['uid', 'value']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...