Django Python Timeseries-可重用的应用程序和数据库模式
建议使用哪些Django应用程序或Python模块来处理和保存到DB timeseries数据。对于时间序列数据,建议使用哪种数据库模式 我的用例是,我的db模式中的节点模型有一个开始日期和结束日期,我想为开始日期和结束日期之间的每一天保存一个值。这可能是相当多的行,因为我有数千个节点,开始和结束日期介于1到365天之间 我的模型看起来是这样的,而我会感谢关于更好的/性能改进的结构的输入:Django Python Timeseries-可重用的应用程序和数据库模式,python,django,time-series,Python,Django,Time Series,建议使用哪些Django应用程序或Python模块来处理和保存到DB timeseries数据。对于时间序列数据,建议使用哪种数据库模式 我的用例是,我的db模式中的节点模型有一个开始日期和结束日期,我想为开始日期和结束日期之间的每一天保存一个值。这可能是相当多的行,因为我有数千个节点,开始和结束日期介于1到365天之间 我的模型看起来是这样的,而我会感谢关于更好的/性能改进的结构的输入: class Node(models.Model): """ Representation
class Node(models.Model):
"""
Representation of a single node
"""
name = models.CharField(max_length=200)
start = models.DateField()
end = models.DateField()
class TimeSeries(models.Model)
"""
holds the time series values. For each day between start and end date one TimeSeries object will be created
"""
node = models.ForeignKey(Node)
date = models.DateField() #holds a specific date between start and end date of node
value = models.IntegerField(max_length=2)
我认为你最好的选择是熊猫。他们把最好的NumPy、scikits等打包
希望这有帮助。你读过吗?这些解决方案听上去和你需要的接近吗?谢谢。但这不是我想要的。谢谢你的提示。熊猫看起来很有前途。您是否也有关于如何为时间序列最佳设置DB结构的经验。我有点担心性能,因为我将不得不为时间序列保存和访问数千行。你能详细说明一下你的数据库结构吗?给我们一些节点和日期的样本,也许吧?熊猫能应付大数字,没问题。归根结底是你的机器。我更新了我的问题。我通常会问db结构是否良好,或者是否应该以某种方式拆分TimeSeries表,以避免在一个表中产生100000行。我认为,如果一个人处理的表越多,数据集越小,访问性能就会越好。@Tom您的结构看起来很合理。我会按原样开始,看看你是否遇到了问题。一个表中有100K行通常是可以的。如果性能成为一个问题,您可以尝试通过存储一个日期和偏移量,而不是将所有内容都存储为日期来提高效率。此外,pandas timeseries还有一些与您所做工作相关的示例。@ThomasKremmel您最终使用的是pandas方法还是您在问题中展示的模式?如果您使用熊猫,您使用哪个字段将其存储在数据库中?