如何修改每个用户每天从时间戳到消费的数据?

时间:2017-01-25 20:07:18

标签: python mysql sql ms-access

对于我的经济学学士学位,我需要分析能源消耗数据。但是,我得到了一些以某种格式提供的数据集,我在修改这些数据时遇到了麻烦,使它对我有用,并且能够用Stata进行分析。

我有一些Python和SQL的基本技能,但到目前为止,我的论文的最后一个数据集并没有成功。我将非常感谢你的帮助:)。

问题: 我得到了一个包含3列和2300万行的数据集。 3列是时间戳,用户(大约130个用户)和消耗(瓦特每秒)。

Example of data set in Access

在第一个示例中,您可以看到某些用户有负面消费。

这些用户与我的研究无关,并且可以删除具有负消费值的所有用户。我怎么能轻松做到这一点?

在第二个例子中给出了原始数据集。时间戳基于大约10-15秒的间隔并且是连续的。因此,在使用时间戳1458185109进行测量之后,测量1458185209是10-15秒。这些时间戳是匿名生成的。但是,我知道测量的确切开始和结束时间和日期。

根据这些信息,我想计算每个用户每天的平均消耗量(以KWatt /小时为单位)。假设数据集中每个用户有300.000个测量点。总测量时间为2个月。因此,可以通过从时间戳1到时间戳4918(300.000 / 61天)的平均值来计算用户的平均消费。

我希望在给定时间段内为所有用户执行此操作。

我在Acces,Python和MySQL方面有一些基础知识。但是,我试过的所有计算机在Access中都有2300万行的麻烦。在Access中,我根本无法“玩”它,因为每次迭代都需要大约半个小时。也许选项可能是写一个python脚本?

如上所述,我是经济学专业,而不是数据科学专业,所以我真的希望你能帮我解决这个问题。我愿意接受任何建议!我试图尽可能详细地描述问题,如果有不清楚的地方请告诉我:)

非常感谢!

1 个答案:

答案 0 :(得分:0)

您是否在数据集上定义了任何索引?在用户,时间戳上添加索引,用户和时间戳都可以极大地提高某些查询的性能。

使用大量数据时,最好尽可能多地将数据计算到数据库,只将已处理的内容拉到Python中进行进一步分析。