Как перебирать даты в порядке возрастания в Python - PullRequest
0 голосов
/ 19 октября 2018

Мой фрейм данных выглядит так:

id    date                   count
1     2011-01-01 00:00:10      10
1     2011-01-01 00:00:11      12
2     2013-02-02 00:00:01      2
1     2011-01-01 00:00:12      4
2     2014-02-01 00:00:20      6

Как перебрать дату в порядке возрастания

for id, frame in df.groupby('id'):
     count_list = []
     for item in frame.sort_values(by='date',ascending=True):
         count_list.append(item['count'])

Мой ожидаемый результат: [[10, 12, 4], [2, 6]]

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете просто отсортировать по date (при условии, что это правильная datetime серия), затем сгруппировать ID и преобразовать в список:

# If not already proper date:
df['date'] = pd.to_datetime(df['date'])

df.sort_values(['date']).groupby('id')['count'].apply(list).tolist()

# [[10, 12, 4], [2, 6]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...