У меня есть кадр данных со столбцом дат начала и столбцом дат окончания. Я хочу проверить целостность дат, гарантируя, что дата начала до даты окончания (т. Е. Start_date < end_date). У меня есть более 14 000 наблюдений.Эффективно сравнивать каждую пару дат в двух столбцах в python
У меня есть данные в виде:
Start End
0 2008-10-01 2008-10-31
1 2006-07-01 2006-12-31
2 2000-05-01 2002-12-31
3 1971-08-01 1973-12-31
4 1969-01-01 1969-12-31
Я добавил колонку, чтобы написать результат, даже если я просто хочу подчеркнуть, есть ли некорректные те, так что я могу удалить их:
dates['Correct'] = " "
И уже начал проверять каждую пару дат, используя следующий, где мой dataframe называется дата:
for index, row in dates.iterrows():
if dates.Start[index] < dates.End[index]:
dates.Correct[index] = "correct"
elif dates.Start[index] == dates.End[index]:
dates.Correct[index] = "same"
elif dates.Start[index] > dates.End[index]:
dates.Correct[index] = "incorrect"
Что работает, это просто очень долгое время (около 15 минут). Мне нужен более эффективный код - есть ли что-то, что я делаю неправильно или могу улучшить?
Удалите это последнее 'elif' и замените его' else' – Deepanshu