3

我是 Python 和 Pandas 的新手,在按日期系列索引时遇到了一些麻烦。我正在尝试将数据从 SQLite db 中提取到 DataFrame 中,该数据库由格式为“mm/dd/yyyy”的日期和股票价格组成。然后,我使用 set_index 创建一个新的 DataFrame,以按日期索引价格。如何使用数据集中的日期将新索引设置为日期序列?这需要日期时间转换还是 DataFrame 能够从对象转换为日期序列?

下面是我正在使用的代码:

import sqlite3 as db
import pandas as p

dbcon = db.connect(...ETF_DATA_TEST.db)
c = dbcon.cursor()
c.execute(""" QUERY """)
rs =p.DataFrame.from_records(c.fetchall(),columns =['Date','Price'])
data = rs.set_index('Date')

谢谢

4

1 回答 1

0

您可以使用 datetime.datetime.strptime 解析您的“日期”字符串,然后从 datetime.datetime 类型构造 numpy.datetime64 值:

data = rs.reindex(numpy.array([(lambda x : datetime.datetime.strptime(x,'%m/%d/%Y'))(x) for x in rs['Date']],dtype='datetime64[us]')
于 2012-12-05T19:27:24.563 回答