По сути, я пытаюсь взять данные в столбце Date
в моем фрейме данных и вычесть их из сегодняшней даты, чтобы получить временную дельту (которую я буду хранить в новом столбце). Проблема, с которой я сталкиваюсь, заключается в том, что значение Date
отформатировано неправильно или вообще не является датой, что приведет к аварийному завершению работы моей программы или к попытке обработать эту ошибку, просто испортив данные другой строки. Вот мой код:
def add_delta_to_dataframe():
df = create_messages_dataframe()
date = pd.to_datetime(df['Date'], format='%m/%d/%Y', errors="ignore")
now = datetime.datetime.today()
try:
delta = ((date - now).dt.days) + 1
df['Delta'] = delta
except TypeError:
pass
return df
Я также пытался перебрать:
df['Date'] = pd.to_datetime(df['Date'], format='%m/%d/%Y', errors="ignore")
now = datetime.datetime.today()
for index, row in df.iterrows():
try:
delta = ((row['Date'] - now).days) + 1
df['Delta'] = delta
except TypeError:
continue
Но и здесь не повезло. Любые идеи по этому поводу будут с благодарностью. Я либо получаю ошибку, если не улавливаю ошибку, либо вывод оставляет все значения Delta
как NaN
. Мой ожидаемый вывод будет столбцы с правильным форматом даты, чтобы там было значение Delta
, а остальные будут NaN