Это не специфичная для Панды проблема, а проблема в сопоставлении строк / шаблонов.Используйте директивы Python strftime
.Также обратите внимание, что вы должны указать год: datetime
объектам изнутри должен соответствовать год.Так с обычным Python:
from datetime import datetime
L = ["1stNov", "22ndNov"]
res = [datetime.strptime(i[:-5] + i[-3:] + '2018', '%d%b%Y') for i in L]
[datetime.datetime(2018, 11, 1, 0, 0),
datetime.datetime(2018, 11, 22, 0, 0)]
Или с пандами:
s = pd.Series(L)
res = pd.to_datetime(s.str[:-5] + s.str[-3:] + '2018', format='%d%b%Y')
0 2018-11-01
1 2018-11-22
dtype: datetime64[ns]