У меня есть фрейм данных со столбцом дат начала и столбцом дат окончания. Я хочу проверить целостность дат, убедившись, что дата начала предшествует дате окончания (т.е. start_date ‹end_date). У меня есть более 14 000 наблюдений, которые нужно выполнить.
У меня есть данные в виде:
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'] = " "
И начали проверять каждую пару дат, используя следующее, где мой фрейм данных называется датами:
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
- person Deepanshu   schedule 28.05.2016