Дни между датой и общим днем ​​рождения в метафрейме Pandas - PullRequest
1 голос
/ 23 мая 2019

У меня есть в кадре данных: идентификатор клиента, дата рождения клиента, дата покупки.

Мне нужна функция для расчета расстояния в +/- дней между датой рождения и датой покупки

например, если дата рождения 20/12/1960 и дата покупки 16/01/2019 мне нужно иметь 27, то есть 27 дней после дня рождения или если дата покупки 05/12/ 2018 Мне нужно -15, что за 15 дней до дня рождения.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Поскольку вам нужно остаться в течение года покупки, вам нужно извлечь день года для дня рождения и дату покупки, которые можно сделать с помощью .dt.dayofyear, следующим образом:

import pandas as pd
import numpy as np


df=pd.DataFrame({'customer_id':[1,2,3],
          'birthday':pd.to_datetime(['20/12/1960','2/6/1980','6/1/1972']),
         'purchase_date':pd.to_datetime(['1/1/2004','5/25/2018','3/4/2010'])})

df['days_away']=df['birthday'].dt.dayofyear - df['purchase_date'].dt.dayofyear  
df
0 голосов
/ 23 мая 2019

Вы можете разделить это на две части. Сначала создайте новый столбец для найденной даты дня рождения. Во-вторых, вычтите эти два столбца даты, чтобы получить timedelata (и сделайте .dt.days, чтобы получить это в днях).

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