По моему мнению, проблема в том, что у вас могут быть неправильные значения даты, которые не могут быть проанализированы одним форматом datetime
.Вместо этого добавьте оператор try-except
к функции parser
:
import pandas as pd
import numpy as np
from datetime import datetime, time
temp=u"""2015-01-04 12:04:10,10
2018-01-10 18:40:12,20
-350.7866656,20"""
def parser(x):
try:
return datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
except ValueError:
return np.nan
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), header=None, parse_dates=[0], index_col=0,
squeeze=True, date_parser=parser)
print (df)
0
2015-01-04 12:04:10 10
2018-01-10 18:40:12 20
NaT 20
Name: 1, dtype: int64
print (df.index)
DatetimeIndex(['2015-01-04 12:04:10', '2018-01-10 18:40:12', 'NaT'], dtype='datetime64[ns]', name=0, freq=None)