我有一些数据(美国国家海洋和大气管理局提供的天气预报),我正在努力工作。有各种数据系列(温度、湿度等),每个数据系列都包含一系列数据点,并在不同的时间尺度(有些系列是每小时一次,有些是每3小时一次,有些是每天一次)上索引成一个日期时间数组。是否有任何类型的库来处理这样的数据,并以用户友好的方式访问它。 理想的用法是:
db = TimeData()
db.set_val('2010-12-01 12:00','temp',34)
db.set_val('2010-12-01 15:00','temp',37)
db.set_val('2010-12-01 12:00','wind',5)
db.set_val('2010-12-01 13:00','wind',6)
db.query('2010-12-01 13:00') # {'wind':6, 'temp':34}
基本上,查询将返回每个序列的最新值。 我看着scikits.timeseries系列,但在这种情况下,不需要对所有的预处理数据进行随机访问。你知道吗
SQLite具有日期类型。您还可以将所有时间转换为epoch之后的秒数(通过
time.gmtime()
或time.localtime()
),这使得比较变得很简单。你知道吗这是一个典型的行到列问题,在一个好的SQL DBMS中,您可以使用联合:
为每个列提供子维度的技巧是为其他列提供一个占位符。在Python中,可以使用SQLAlchemy动态生成这样的查询。你知道吗
如果对数据进行了排序,则可以使用bisect模块快速获取最大时间小于或等于指定时间的条目。你知道吗
比如:
相关问题 更多 >
编程相关推荐