Хорошо, я постараюсь показать ответ, чтобы помочь другим людям. Вам нужна фиктивная таблица с двумя столбцами для создания кадра данных, необходимого для фильтрации продолжительности.
Первый
import pandas as pd
#Create DataFrame containing two events.
df = pd.DataFrame({
'TransEvent': ['2013-01-01', '2013-01-02', '2013-01-04','2013-01-03'],#transaction
'EmailEvent': ['2013-01-11', '2013-02-02', '2013-01-06','2013-01-04'] #email
})
df['TransEvent'] = pd.to_datetime(df['TransEvent'], errors='coerce')#convert to Dates
df['EmailEvent'] = pd.to_datetime(df['EmailEvent'], errors='coerce')
df['DurationDays'] = df.EmailEvent - df.TransEvent
df[['TransEvent','EmailEvent','DurationDays']]
Результат
TransEvent EmailEvent DurationDays
0 2013-01-01 2013-01-11 10 days
1 2013-01-02 2013-02-02 31 days
2 2013-01-04 2013-01-06 2 days
3 2013-01-03 2013-01-04 1 days
, поэтому мы только интересует случаи, когда продолжительность <= 2 дня. </p>
#show only those emails that were received within 2 days of the transaction.
df[df['DurationDays']<= pd.Timedelta(2,'D')]
Окончательный ответ
EmailEvent TransEvent DurationDays
2 2013-01-06 2013-01-04 2 days
3 2013-01-04 2013-01-03 1 days
Дайте мне знать, если это работает.