Переберите ваш диктант или передайте ключ напрямую.Преобразовать список в серии панд и отсортировать его
import pandas as pd
d={2: ['8-12-2012', '9-12-2012', '7-12-2012'], 5: ['10-12-2012', '11-12-2012'], 7: ['13-12-2012']}
for key,value in d.items():
print(key,pd.to_datetime(pd.Series(value)).sort_values().iloc[0])
Вывод
(2, Timestamp('2012-07-12 00:00:00'))
(5, Timestamp('2012-10-12 00:00:00'))
(7, Timestamp('2012-12-13 00:00:00'))
Если вас интересуют только даты
for key,value in d.items():
print(key,pd.to_datetime(pd.Series(value)).dt.date.sort_values().iloc[0])
Вывод:
(2, datetime.date(2012, 7, 12))
(5, datetime.date(2012, 10, 12))
(7, datetime.date(2012, 12, 13))
Представление даты в соответствии с приведенным примером
for key,value in d.items():
print('key: {}, Earliest Date: {} '.format(key,pd.to_datetime(pd.Series(value)).dt.date.sort_values().iloc[0].strftime("%m-%d-%Y")))
Вывод:
key: 2, Earliest Date: 07-12-2012
key: 5, Earliest Date: 10-12-2012
key: 7, Earliest Date: 12-13-2012