Причина, по которой он не распознает функцию datetime read_csv
является параметром header=None
- он преобразует первую строку csv в первую строку данных (и индекс), а преобразование в datetime молча завершается неудачей:
temp=u"""DATE,DTB3
8/4/2014,0.0004
8/5/2014,0.0003
8/6/2014,0.0003"""
#after testing replace 'pd.compat.StringIO(temp)' to FRED_file
T1 = pd.read_csv(pd.compat.StringIO(temp),
header=None,
names=['DATE','DTB3'],
dtype= {'DTB3':'str'},
parse_dates=['DATE'],
index_col='DATE'
)
print (T1)
DTB3
DATE
DATE DTB3
8/4/2014 0.0004
8/5/2014 0.0003
8/6/2014 0.0003
print (T1.index)
Index(['DATE', '8/4/2014', '8/5/2014', '8/6/2014'], dtype='object', name='DATE')
Вы можете опустить параметр header
, names
- поскольку файл содержит заголовок csv sep
- потому что sep=','
является параметром по умолчанию, 'DATE':'str'
из dtype
- если /
в значенияхоно конвертируется в string
с:
import pandas as pd
temp=u"""DATE,DTB3
8/4/2014,0.0004
8/5/2014,0.0003
8/6/2014,0.0003"""
#after testing replace 'pd.compat.StringIO(temp)' to FRED_file
T1 = pd.read_csv(pd.compat.StringIO(temp),
dtype= {'DTB3':'str'},
parse_dates=['DATE'],
index_col='DATE'
)
print (T1)
DTB3
DATE
2014-08-04 0.0004
2014-08-05 0.0003
2014-08-06 0.0003
print (T1.index)
DatetimeIndex(['2014-08-04', '2014-08-05', '2014-08-06'],
dtype='datetime64[ns]', name='DATE', freq=None)