与python一起使用的timeseries数据库

与python一起使用的timeseries数据库,python,sqlite,time-series,Python,Sqlite,Time Series,我有一个用python编写的应用程序,它将一些值当前存储在一个文本文件中 格式为“日期时间值”。到目前为止,这一切都很顺利 现在的问题是,我需要开始按时间间隔检索数据。 我已将文件转换为sqlite数据库。 但是我发现性能真的很差。我运行了如下查询: select min(value) from data where dt > '2013-05-13 15:48:13' and dt < '2013-05-13 15:49:13' 从数据中选择最小值(值),其中dt>'2013-0

我有一个用python编写的应用程序,它将一些值当前存储在一个文本文件中 格式为“日期时间值”。到目前为止,这一切都很顺利

现在的问题是,我需要开始按时间间隔检索数据。 我已将文件转换为sqlite数据库。 但是我发现性能真的很差。我运行了如下查询:

select min(value) from data where dt > '2013-05-13 15:48:13' and dt < '2013-05-13 15:49:13'
从数据中选择最小值(值),其中dt>'2013-05-13 15:48:13'和dt<'2013-05-13 15:49:13'
所以我的最低时间间隔是1米

但这似乎需要大约0.036秒,这在我需要生成图形时非常慢 即使是很小的时间间隔


您建议使用什么其他方法解决此问题

如果您没有太多的数据,那么将所有内容都加载到内存中的TimeSeries中

import pandas as pd
ts = pd.TimeSeries(range(86400), index=pd.DatetimeIndex(start='2013-05-14 00:00:00', freq='1S', periods=86400))
为今天的每秒钟创建一个值为86400的TimeSeries

以下行需要2.72毫秒,并返回您等待的值:

ts.between_time('2013-05-14 15:48:13', '2013-05-14 15:49:13').min()
您可以使用不同的频率,也可以使用不等距的值:

> pd.TimeSeries([1,2,3], index=pd.DatetimeIndex([datetime(2013,5,14,0,0,0,100000), datetime(2013,5,14,0,0,0,200000), datetime(2013,5,14,0,0,0,900000)]))

2013-05-14 00:00:00.100000    1
2013-05-14 00:00:00.200000    2
2013-05-14 00:00:00.900000    3