我有一个非计算机相关的数据记录器,可以从现场收集数据。这些数据存储为文本文件,我手动将这些文件集中在一起并进行组织。当前格式是每个记录器每年通过一个 csv 文件。每个文件大约有 4,000,000 行 x 7 个记录器 x 5 年 = 大量数据。一些数据被组织成bins item_type, item_class, item_dimension_class, 其他数据更独特,比如item_weight, item_color, date_collected, 等等...

目前,我使用我编写的 python/numpy/matplotlib 程序对数据进行统计分析。它工作正常,但问题是,我是唯一可以使用它的人,因为它和数据都存在于我的计算机上。

我想使用 postgres db 在网络上发布数据;但是,我需要找到或实现一个统计工具,该工具将采用大型 postgres 表,并在足够的时间范围内返回统计结果。我对 web 的 python 不熟悉;但是,我精通 web 端的 PHP 和离线端的 python。

应允许用户创建自己的直方图、数据分析。例如,用户可以搜索在第 x 周和第 y 周之间发货的所有蓝色商品,而另一个用户可以搜索全年所有商品按小时的重量分布排序。

我正在考虑创建和索引我自己的统计工具,或者以某种方式自动化该过程以模拟大多数查询。这似乎效率低下。

我期待听到你的想法

谢谢

最佳答案

如果用户数量不是太多,我认为您可以充分利用您当前的组合(python/numpy/matplotlib)。我做了一些类似的工作,我的数据大小比10g多一点。数据存储在几个 sqlite 文件中,我使用 numpy 来分析数据,使用 PIL/matplotlib 生成图表文件(png、gif),cherrypy 作为网络服务器,mako 作为模板语言。

如果你需要更多的服务器/客户端数据库,那么你可以迁移到 postgresql,但如果你使用 python web 框架,比如cherrypy,你仍然可以完全使用你当前的程序。

10-07 13:41
查看更多