Ошибка возникает, когда вы пытаетесь разделить ввод строки во второй строке. Его можно легко воспроизвести следующим образом:
>>> y,m,d='aaaaaa'.split('-')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 3, got 1)
Вам нужно будет добавить блок try-catch для захвата тех входных данных, которые не представляют действительные даты. Например:
>>> try:
... y,m,d='aaaaaa'.split('-')
... except ValueError:
... return ''
Вы также можете выполнить некоторую предварительную обработку вашего Pandas фрейма данных перед вызовом этих операторов:
>>> df.dropna(subset=['Date'], inplace=True)
Вы также можете заполнить отсутствующие значения с помощью заполнителя:
>>> df['Date'].replace('', '01-01-2020', inplace=True)