Учитывая, что столбец 'timestamp' является объектом datetime, а ваша базовая контрольная дата - 1 октября 2018 года, вот как вы можете вычислить timedelta в миллисекундах
import pandas as pd
from datetime import datetime, timedelta, timezone
Во-первых, получите информацию о часовом поясе изваш пример ввода временной метки:
datetime.strptime('2018-10-01 13:56:36-0400', '%Y-%m-%d %H:%M:%S%z')
>>>datetime.datetime(2018, 10, 1, 13, 56, 36, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000)))
Затем мы можем создать базовую дату с поддержкой tz с теми же сведениями о часовом поясе.После этого вы сможете выполнить вычитание.
base_date = datetime(2018,10,1, tzinfo=timezone(timedelta(-1,72000)))
flyer = pd.read_csv("./csv/Flyers Dataset - Flyers Dataset.csv",parse_dates = ['timestamp'])
flyer.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True)
# 1000 milliseconds in a second
flyer.loc[:,'TimeDelta'] = flyer.loc[:,'timestamp'].apply(lambda x: (x - base_date).total_seconds() * 1000)
pd.set_option('display.max_rows', 20)
flyer.to_csv('myfile.csv')