标签: average

使用按日期范围分组的django聚合到较低分辨率

可怕的标题,但让我解释一下:我有这个django模型包含一个时间戳(日期)和要记录的属性 - fe消耗一些资源的用户数 - (值).

class Viewers(models.Model):
    date = models.DateTimeField()
    value = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

对于每10秒,该表包含用户数.这样的事情:

| date | value |
|------|-------|
|  t1  |   15  |
|  t2  |   18  |
|  t3  |   27  |
|  t4  |   25  |
|  ..  |   ..  |
|  t30 |   38  |
|  t31 |   36  |
|  ..  |   ..  |
Run Code Online (Sandbox Code Playgroud)

现在我想从这些数据中生成不同的统计数据,每个数据都有另一个分辨率 对于最后一天的图表,我不需要10秒的分辨率,所以我想要5分钟的步骤(通过平均从t1到t29,t30到t59的行的值(也可能是日期)来构建, ...),所以我会得到:

| date | value |
|------|-------|
|  t15 |   21  |
|  t45 |   32  |
| …
Run Code Online (Sandbox Code Playgroud)

sql django average date-range aggregation

5
推荐指数
1
解决办法
2000
查看次数

Mysql查询到平均时间

我玩了很多棋盘游戏,并且我维护着一个跟踪几个统计数据的站点/数据库.其中一个表记录了不同的时间.它的结构如下:

  • gameName(文本 - 棋盘游戏的名称)
  • numPeople(int - 播放的人数)
  • timeArrived(时间戳 - 我们到达我们正在玩游戏的房子的时间)
  • beginSetup(时间戳 - 我们开始设置游戏的时间)
  • startPlay(时间戳 - 我们实际开始玩游戏的时间)
  • gameEnd(时间戳 - 游戏结束的时间)

基本上,我想要做的是利用这些时间来获取一些有趣/有用的信息(比如平均花费最长的游戏设置,平均花费的游戏时间最长,游戏最长的是什么到达完成等等...)通常情况下,我过分依赖PHP而且我只会做一个select*...并且一直抓住然后做一些PHP计算来查找所有的统计数据但我知道MySQL可以通过查询为我做所有这些.不幸的是,当谈到更复杂的查询时,我很失落,所以我想要一些帮助.

我想要几个查询的一些例子,希望一旦有人让我开始,我可以找出其他平均时间查询.对于玩棋盘游戏,平均查询时间最长的是什么?平均设置最快的游戏/时间怎么样?

附加信息: drew010 - 你让我有一个良好的开端,但我没有得到我期望的结果.我给你一些真正的例子......我有一个叫做哈珀的游戏,它已被播放了两次(所以数据库中有两个记录有时间).以下是它的时代:

beginSetup(1) = 2012-07-25 12:06:03
startPlay(1) = 2012-07-25 12:47:14
gameEnd(1) = 2012-07-25 13:29:45

beginSetup(2) = 2012-08-01 12:06:30
startPlay(2) = 2012-08-01 12:55:00
gameEnd(2) = 2012-08-01 13:40:32
Run Code Online (Sandbox Code Playgroud)

然后我运行你提供给我的查询(并将秒转换为小时/分钟/秒)我得到了这些结果(对不起,我不知道如何做你所做的酷表):

gameName = Harper
Total Time = 03:34:32
...and other incorrect numbers.
Run Code Online (Sandbox Code Playgroud)

从数字来看,平均总时间应该是大约1小时24分钟 - 而不是3小时34分钟.知道为什么我的数字不正确吗?

php mysql sql time average

5
推荐指数
1
解决办法
3002
查看次数

元组的平均值

我有一个字典:

{"a":(1, 0.1) , "b":(2, 0.2) , ...}
Run Code Online (Sandbox Code Playgroud)

每个括号都是一个元组,对应于(分数,标准差).如何获取每个元组中第一个整数的平均值?我试过这个:

for word in d:
    (score, std) = d[word]
    d[word]=float(score),float(std)
    if word in string:
        number = len(string)
        v = sum(score)
        return (v) / number
Run Code Online (Sandbox Code Playgroud)

得到此错误:

    v = sum(score)
TypeError: 'int' object is not iterable
Run Code Online (Sandbox Code Playgroud)

python dictionary tuples average list

5
推荐指数
1
解决办法
9135
查看次数

DOB Field的平均年龄 - MySQL/PHP

我不知道如何计算我的联系人的平均年龄,这些联系人都存在于带有DOB日期字段(如YYYY-MM-DD)的mysql表中.

有没有办法处理MySQL调用(请注意我使用的是cakephp,但这应该不是问题)

谢谢

mysql average date dob

5
推荐指数
1
解决办法
6619
查看次数

Numpy平均函数舍入错误

我觉得这很奇怪.谁能告诉我这里发生了什么?

>>>a = [1,0,1]
>>>np.mean(a)
   0.66666666666666663
>>>2.0/3
   0.6666666666666666
Run Code Online (Sandbox Code Playgroud)

怎么了输出结束时的3 np.mean(a)?为什么它不像它下面的线或7(当四舍五入时)?

python numpy average

5
推荐指数
1
解决办法
512
查看次数

SQL每X行执行一列的AVG

我有一个包含以下(相关)列的表:id_mi,日期和值。我想使用y轴的“值”列中的值和x轴中的日期来构建图形,但是由于它们很多,我希望图形上的点是X行的平均值。

假设本例中X = 10:

我想做的是获取表中的前10个值,计算平均值并将其存储在一行中,然后下一行将包含11到20的平均值,依此类推。

基本上,我需要在具有“值”列平均值的单个行中“压缩” 10行。

我正在使用Postgres 9.2

sql postgresql average

5
推荐指数
1
解决办法
947
查看次数

如何在R中按小时计算变量的平均值

我在尝试按小时计算平均温度时遇到了麻烦.

我有一个数据框,包括日期,时间(hh:mm:ss pm/am)和温度.我需要的是按小时提取平均温度,以绘制每日温度变化.

我是R的新手,但尝试了解我所知道的:我首先尝试将小时数转换为数字,然后提取前两个字符,然后计算均值,但效果不佳.此外,我有很多文件可以分析,比我找到的"解决方案"更有效,更干净.

我相信它必须是一个更好的方法来计算R中的小时数,所以我一直在寻找其他帖子中的答案.不幸的是,我找不到从时间数据中提取统计数据的明确答案.

我的数据看起来像这样

          date     hour temperature
1   28/12/2013 13:03:01      41.572
2   28/12/2013 13:08:01      46.059
3   28/12/2013 13:13:01       48.55
4   28/12/2013 13:18:01      49.546
5   28/12/2013 13:23:01      49.546
6   28/12/2013 13:28:01      49.546
7   28/12/2013 13:33:01      50.044
8   28/12/2013 13:38:01      50.542
9   28/12/2013 13:43:01      50.542
10  28/12/2013 13:48:01       51.04
11  28/12/2013 13:53:01      51.538
12  28/12/2013 13:58:01      51.538
13  28/12/2013 14:03:01      50.542
14  28/12/2013 14:08:01       51.04
15  28/12/2013 14:13:01       51.04
16  28/12/2013 14:18:01      52.534
17 …
Run Code Online (Sandbox Code Playgroud)

time average r

5
推荐指数
2
解决办法
1万
查看次数

MySQL - 在某些行上选择AVG,在所有行上选择SUM

我试图平均某些特定行的值,但总计所有行的总和.

我有2个表,一个叫exchanges,另一个叫valid_country.

交流

+-----------+----------+--------------+----------+--------+
|     id    |   ref    |     country  |   value  | volume |
+-----------+----------+--------------+----------+--------+
|     1     |  1029    |      DE      |   1 000  |   100  |
+-----------+----------+--------------+----------+--------+
|     2     |  1029    |      US      |   2 000  |   250  |
+-----------+----------+--------------+----------+--------+
|     3     |  1029    |      FR      |   3 500  |   300  |
+-----------+----------+--------------+----------+--------+
|     4     |  1053    |      UK      |   1 200  |   110  |
+-----------+----------+--------------+----------+--------+
|     5     |  1029    |      RU      |     900 …
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by average sum

5
推荐指数
1
解决办法
450
查看次数

Mongo $组太慢了

我有一个大约168,200,000个文档的mongo db集合.我试图用$ group获取某个字段的平均值,并且我在管道中的$ group之前使用$ match来使用client.city上的索引.但查询运行大约需要5分钟,这非常慢.

以下是我尝试过的事情:

db.ar12.aggregate(
    {$match:{'client.city':'New York'}},
    {'$group':{'_id':'client.city', 'avg':{'$avg':'$length'}}}
)

db.ar12.aggregate(
    {$match:{'client.city':'New York'}},
    {'$group':{'_id':null, 'avg':{'$avg':'$length'}}}
)

db.ar12.aggregate(
    {$match:{'client.city':'New York'}}, 
    {$project: {'length':1}},
    {'$group':{'_id':null, 'avg':{'$avg':'$length'}}}
)
Run Code Online (Sandbox Code Playgroud)

所有3个查询大约需要同一时间,client.city =到纽约的文档数量为1,231,672,find({'client.city':'New York').count()需要一秒钟才能运行

> db.version()
  3.2.0
Run Code Online (Sandbox Code Playgroud)

编辑

这是解释结果......对于添加长度的复合索引的注释,这会有所帮助,虽然我不是按长度搜索我想要所有长度...

{
"waitedMS" : NumberLong(0),
"stages" : [
    {
        "$cursor" : {
            "query" : {
                "client.city" : "New York"
            },
            "fields" : {
                "length" : 1,
                "_id" : 1
            },
            "queryPlanner" : {
                "plannerVersion" : 1,
                "namespace" : "clients.ar12",
                "indexFilterSet" : false,
                "parsedQuery" : { …
Run Code Online (Sandbox Code Playgroud)

average mongodb aggregation-framework

5
推荐指数
1
解决办法
854
查看次数

加权平均值使用numpy.average

我有一个数组:

In [37]: bias_2e13 # our array
Out[37]: 
[1.7277990734072355,
 1.9718263893212737,
 2.469657573252167,
 2.869022991373125,
 3.314720313010104,
 4.232269039271717]
Run Code Online (Sandbox Code Playgroud)

数组中每个值的错误是:

In [38]: bias_error_2e13 # the error on each value
Out[38]: 
array([ 0.13271387,  0.06842465,  0.06937965,  0.23886647,  0.30458249,
        0.57906816])
Run Code Online (Sandbox Code Playgroud)

现在我将每个值的误差除以2:

In [39]: error_half # error divided by 2
Out[39]: 
array([ 0.06635694,  0.03421232,  0.03468982,  0.11943323,  0.15229124,
        0.28953408])
Run Code Online (Sandbox Code Playgroud)

现在我numpy.average使用errorsas 计算数组的平均值,但是使用as weights.

首先,我使用值的完整错误,然后我使用错误的一半,即错误除以2.

In [40]: test = np.average(bias_2e13,weights=bias_error_2e13)

In [41]: test_2 = np.average(bias_2e13,weights=error_half)
Run Code Online (Sandbox Code Playgroud)

当一个数组的错误是另一个数组的一半时,两个平均值如何给出相同的结果

In [42]: test
Out[42]: 3.3604746813456936

In [43]: test_2
Out[43]: …
Run Code Online (Sandbox Code Playgroud)

python numpy average weighted-average python-2.7

5
推荐指数
1
解决办法
1万
查看次数