Ниже я пробовал, но не очень хорошо работал.
def print_dtcols(DF):
colms = DF.columns.values[DF.dtypes.values == 'object']
names = []
for colm in colms:
try:
DF[colm] = pd.to_datetime(DF[colm], infer_datetime_format=True, errors = 'raise')
names.append(colm)
except ValueError:
pass
return names
import pandas as pd
df = pd.DataFrame({'0': ['a', 'b', 'c','d','e'],
'1': ['2015-12-27','2015-12-28', '2015-12-29','2015 12-31 10:00','2016/01/01 15:00'],
'2': [11,12,13,14,15],
'3': ['2015-12-31','2015-12-29', '2015-12-30','2016-01 11 23:59','2016/02/01 22:00'],
'4': ['2015-02-31','2015-02-29', '2015-02-30','2016-03 11 23:59','2016/04/01 22:00'],
'5': ['2015-04-31','2015-04-29', '2015-04-30','2016-05 11 23:59','2016/06/01 22:00'],
'6': ['2015-04-31','2015-04-29', '2015-04-30','2016-05 11 23:59','2016/06/01 22:00']})
print_dtcols(df)
результат был ['1', '3'], и я ожидал, что это будет ['1', «3», «4», «5», «6»]