假设我有以下数据框:
temp
2014-11-20 12:45:00 51
2014-11-20 12:46:00 43
2014-11-20 12:47:00 44
2014-11-21 12:45:00 44
2014-11-21 12:46:00 46
2014-11-21 12:47:00 48
2014-11-22 12:45:00 38
2014-11-22 12:46:00 32
2014-11-22 12:47:00 37
如果您复制上述内容并使用pd.read_clipboard()
我相信您应该获得分层索引(或MultiIndex)
第一个索引是日期,第二个索引是字符串的时间。如何将两个索引合并为一个日期时间索引?
(请注意,这不是关于使用pd.read_csv()
parse_dates
选项,因为数据帧不是来自csv文件,问题是如何使用现有数据帧。)
答案 0 :(得分:2)
您可以使用to_datetime
方法将字符串解析为日期时间值。要使用它,我认为最简单的方法是首先连接导致单级字符串索引的日期和时间字符串:
In [184]: s
Out[184]:
temp
2014-11-20 12:45:00 51
12:46:00 43
12:47:00 44
2014-11-21 12:45:00 44
12:46:00 46
12:47:00 48
2014-11-22 12:45:00 38
12:46:00 32
12:47:00 37
In [187]: s.index = s.index.get_level_values(0).values + ' ' + s.index.get_level_values(1)
In [188]: s.index
Out[188]: Index([u'2014-11-20 12:45:00', u'2014-11-20 12:46:00', ... u'2014-11-22 12:47:00'], dtype='object')
然后您可以使用to_datetime
将字符串转换为DatetimeIndex:
In [189]: s.index = pd.to_datetime(s.index)
In [190]: s.index
Out[190]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2014-11-20 12:45:00, ..., 2014-11-22 12:47:00]
Length: 9, Freq: None, Timezone: None