我希望在datetime中通过read_csv转换索引读取,但需要很长时间(超过1分钟)。
有人知道一种更有效的方式(其他命令,使用cython,......)?
>>> df
<class 'pandas.core.frame.DataFrame'>
Index: 3367200 entries, 2014/02/28 to 2017/12/31
Columns: 3 entries, SCENARIO to 0
dtypes: float64(1), object(2)
>>> df.index = pd.to_datetime(df.index)
答案 0 :(得分:1)
你应该使用parse_dates
argument for read_csv
,这样它直接读作datetime64(int64)而不是字符串(然后必须解析它):
from StringIO import StringIO # in python 2
a = '''date,A,B
1/1/2014,1,2
1/1/2014,2,3'''
In [11]: pd.read_csv(StringIO(a), index_col=[0, 1], parse_dates=[0])
Out[11]:
B
date A
2014-01-01 1 2
2 3