Как мне найти разницу в днях между клиентами при каждом посещении - PullRequest
0 голосов
/ 08 октября 2019

У меня есть фрейм данных с несколькими транзакциями каждого клиента

ID   Date of visit
123 08/09/2013
123 01/02/2014
123 08/08/2014
123 12/03/2017
abd 01/09/2016

Я хочу агрегировать запись таким образом, чтобы мой фрейм данных выглядел как

ID   First visit   Second visit   Third visit
123 08/09/2013     01/02/2014    08/08/2014

Возможно ли сделатьнравится? У меня один миллион записей с 30 000 клиентов. Как мне подойти к проблеме

Ответы [ 2 ]

1 голос
/ 08 октября 2019

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

new_df=df.groupby('ID').apply(lambda x: x['Date_of_visit'].reset_index(drop=True)).unstack()
new_df.columns=  ['Visit_'+str(key+1) for key in new_df.columns]
print(new_df)

        Visit_1     Visit_2     Visit_3     Visit_4
ID                                                 
123  08/09/2013  01/02/2014  08/08/2014  12/03/2017
abd  01/09/2016         NaN         NaN         NaN
0 голосов
/ 09 октября 2019

Один из способов сделать это - объединить (i)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...