什么是用于存储和使用200,000多个时间序列的良好数据结构和工具?

时间:2014-03-19 17:52:21

标签: python data-structures pandas statistics time-series

编辑:更好地描述数据。

我有一个大型数据集,目前有200,000多个数据点,但很快就会更大。数据是文章(网页)自发布以来每天收到的下载次数。我对日历日不感兴趣,但我对自出版以来的天数感兴趣。

所以数据目前看起来像这样:

id,country,subject,publication_date,day1,day2,day3,day4,day5....day1000
1,canada,science,2008-01-01,0,3,12,5,33,45,66,3,3.....
2,usa,english,2014-03-15,1,3,14

其中每个数字代表一天的下载次数,每列是发布后的一天。因此,每一行都有不同的列数,因为有些文章比其他文章更长。

用于此数据的良好数据结构允许以下内容:

  • 按国家或主题轻松过滤
  • 轻松过滤" X天下至少X次下载"
  • 轻松提取(用于回归或群集)下载数据

我熟悉(尽管不完全)使用Python Pandas,我过去曾将它用于某些数据操作。它似乎是这项工作的一个很好的候选人,特别是如果我将我的数据存储为TimeSeries。我将我的数据操作为具有TimeSeries索引的DF,用于单篇文章,如下所示。

注意:这是一个单一ID的TimeSeries,我需要一个200,000多篇文章的结构。

date  downloads
2000-01-01   3
2000-01-02   2
2000-02-08   1
2000-02-09   1
2000-02-10   2

但不确定从哪里开始。我想到从一个固定的日期开始重新定中心,所以可以组合数据集。但是,我最终得到每个数据点的列(即200,000+列)和一个单独的DataFrame来存储id及其特征(主题/国家/地区)。

那会有意义吗?这么多列有问题吗?有没有更好的办法?

编辑:首选是继续使用python,但不要与Pandas结合。如果它必须是另一种语言/工具,那就OK了。我会学!

1 个答案:

答案 0 :(得分:0)

谢谢@jeff和@Joe Kington。我最终选择了一个支持HDF5商店的MultiIndex'ed系列。它运作良好。