在Pandas中把索引改为日期/时间类型?

2024-09-29 01:37:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我用sqlite3数据库制作了DataFrame

df = sql.read_frame("SELECT * FROM hzmo_report;", cnx, index_col='datum')

打印数据框类型->;给我:

^{pr2}$

id的值,在数据库中被命名为“datum”的是:

print df.index
Index([2012-12-01, 2013-01-01, 2012-11-01, 2013-02-01, 2012-09-01, 2012-10-01, 2012-08-01, 2012-07-01, 2012-06-01, 2012-05-01, 2012-04-01, 2012-03-01, 2012-02-01, 2011-12-01, 2011-11-01, 2011-10-01, 2011-09-01, 2011-08-01, 2011-07-01, 2011-06-01, 2011-05-01, 2011-04-01, 2011-03-01, 2012-01-01, 2011-02-01, 2011-01-01, 2010-12-01, 2010-11-01, 2010-10-01, 2010-09-01, 2010-08-01, 2010-07-01, 2010-06-01, 2010-05-01, 2010-04-01, 2010-03-01, 2010-02-01, 2010-01-01, 2009-12-01, 2009-10-01, 2009-11-01, 2013-03-01], dtype=object)

那么如何将id(index)从int64类型更改为某种日期/时间类型?在

我不会那样做的,这样身份证就会被分类。在

还有如何从索引中删除日期,因为我只有一个条目每个嘴所以频率应该是每月。例如2012-12-01至2012-12,依此类推。在

更新:

从SQL数据库构造数据帧时,不要使用没有按“日期列”排序的SQL查询

这很重要,因为否则,您的数据帧将不会按日期列排序。在

所以我的SQL

 df = sql.read_frame("SELECT * FROM hzmo_report;", cnx, index_col='datum')

应该是:

df = sql.read_frame("SELECT * FROM hzmo_report ORDER BY datum;", cnx, index_col='datum')

Tags: 数据fromreport数据库类型dfreadsql