标签: average

计算平均值而不被线性抛出

我试图计算一个平均值而不被一小组远离数字(即1,2,1,2,3,4,50)抛弃,单个50将甩掉整个平均值.

如果我有一个这样的数字列表:

19,20,21,21,22,30,60,60

平均为31

中位数是30

模式为21和60(平均为40.5)

但是任何人都可以看到大多数是在19-22(5英寸,3英尺)的范围内,如果你得到的只是主要范围的平均值是20.6(与上面任何一个数字相比差别很大)

我在想你可以这样:

C +博士

c数字的计数在哪里,d是不同的值,r是范围.然后你可以将它应用于所有可能的范围,最高分是获得平均值的最佳范围.

例如,19,20,21,21,22将是5个数字,4个不同的值,范围是3(22 - 19).如果你把它插入我的方程式,你得到5 + 4-3 = 6

如果将其应用于整个数字列表,则为8 + 6-41 = -27

我认为这很好用,但我必须创建一个巨大的循环来测试所有可能的范围.在我的小例子中,有21个可能的范围:

19-19,19-20,19-21,19-22,19-30,19-60,20-20,20-21,20-22,20-30,20-60,21-21,21- 22,21-30,21-60,22-22,22-30,22-60,30-30,30-60,60-60

我想知道是否有更有效的方法来获得这样的平均值.

或者如果某人有更好的算法?

php algorithm average

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

聚合函数或GROUP BY子句

我使用了以下查询:

select Patients.LastName, 
  avg (PatientVisits.Pulse)as pulse,
  avg (patientvisits.depressionlevel)as depressionLevel  
from Patients 
left join PatientVisits 
   on Patients.PatientKey=PatientVisits.PatientKey
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

消息8120,级别16,状态1,行1列"Patients.LastName"在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

sql sql-server join average

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

获得每条线的平均值

我有这种格式的大型数据集

HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87
HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87
Run Code Online (Sandbox Code Playgroud)

我想计算每一行的平均值,从第5列开始直到行结束,并忽略字符串NA.然后将平均值附加到每行的末尾.

输出看起来像这样:

HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 0.775
HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87 0.620
Run Code Online (Sandbox Code Playgroud)

我一直得到这样的总和,但无法弄清楚如何跟踪求和的整数数,以便计算平均值.

awk '{x=0;for(i=5;i<=NF;i++)x=x+$i;print $0, x}'
Run Code Online (Sandbox Code Playgroud)

awk average

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

如何在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万
查看次数

获取date_histogram,elasticsearch的平均值

我有以下查询获取数据,我创建每过去一小时的聚合:

    query = {
        "query": {
            "bool": {          
                "must": [
                    { "term": {"deviceId":device} },
                    { "match": {"eventType":"Connected"} } 
                ],
                "must_not":[{
                        "query_string": {
                            "query": "Pong",
                            "fields": ["data.message"]
                        }
                    },
                ] 
            },

        },
        "size": 0,
        "sort": [{ "timestamp": { "order": "desc" }}],
        "aggs" : {
            "time_buckets" : {
                "date_histogram" : {
                    "field" : "timestamp",
                    "interval" : "hour",

                },
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想得到每小时间隔(由聚合创建的每个桶)的字段的平均值.在这篇文章中,他们谈论了类似于我想做的事情:http: //www.elasticsearch.org/guide/en/elasticsearch/guide/current/_looking_at_time.html ("我们网站每小时的平均延迟是多少?在上周?").但是,他们没有解释在这种情况下究竟要做什么.

有谁知道这是怎么做到的吗?

javascript average datahistory elasticsearch

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

Python中的滚动平均成对相关

我有三个市场(GLD,SPY和USO)的每日回报.我的目标是从130天的滚动基础上的相关矩阵计算平均成对相关性.

我的出发点是:

import numpy as np
import pandas as pd
import os as os
import pandas.io.data as web
import datetime as datetime
from pandas.io.data import DataReader

stocks = ['spy', 'gld', 'uso']
start = datetime.datetime(2010,1,1)
end = datetime.datetime(2016,1,1)

df = web.DataReader(stocks, 'yahoo', start, end)
adj_close_df = df['Adj Close']

returns = adj_close_df.pct_change(1).dropna()
returns = returns.dropna()

rollingcor = returns.rolling(130).corr()
Run Code Online (Sandbox Code Playgroud)

这创建了一组相关矩阵.然而,提取下部(或上部)三角形,移除对角线然后计算每个观察的平均值是我画了一个空白.理想情况下,我希望每个日期的输出都在一个系列中,然后我可以按日期对其进行索引.

也许我从错误的地方开始,但任何帮助将不胜感激.

python average correlation pandas

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

Mongoaggregate:返回数组值的总平均值

我在 mongodb 中有这个数据

{ 
  "name": "FooBar",
  "__v": 0,
  "user_rating": [
  {
    "date": "2017-06-02T16:19:32.002Z",
    "user_rating": 5,
  },
  {
    "date": "2017-06-02T16:19:46.803Z",
    "user_rating": 3,
  },
  {
    "date": "2017-06-02T16:20:01.244Z",
    "user_rating": 5,
  },
  {
    "date": "2017-06-02T16:15:54.673Z",
    "user_rating": 3,
  },
  {
    "date": "2017-06-02T16:53:42.489Z",
    "user_rating": 5,
  }
 ]
}
Run Code Online (Sandbox Code Playgroud)

我需要过滤它以显示商店名称、平均评分、评分总数以及有多少 5 评分、多少 4 评分等。

这就是我所期待的:

[
  {
    "_id":"FooBar",
    "countRating":5,
    "averageRating":4.2,
    "ratings": [
       {"num":3,"count":2},
       {"num":5,"count":3}
     ]
  }
 ]
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法获得averageRating - 相反,我获得了每个评分的两个总和的平均值。

这是我的 Mongo 查询:

 db.collection.aggregate([
      {
        $match: {"name": "FooBar"}
      },
      {
          $unwind: "$user_rating"
      },
      {
        $match: {"name": "FooBar"} …
Run Code Online (Sandbox Code Playgroud)

arrays average mongodb

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

滚动时更改滚动窗口的大小

我有一个这样的熊猫数据框;

>df

leg    speed
  1       10
  1       11
  1       12
  1       13
  1       12
  1       15
  1       19
  1       12
  2       10
  2       10
  2       12
  2       15
  2       19
  2       11
  :        :
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列roll_speed,该列需要最近5个位置的滚动平均速度。但我想在其中添加更详细的条件。

  1. Groupby leg(它没有考虑到不同行中行的速度leg
  2. 我希望根据可用的行将滚动窗口从1个最大值更改为5个最大值。例如leg == 1,在第一行中,只有一行要计算,因此滚动速度应为10/1 = 10。对于第二行,只有两行可用于计算,轧制速度应为(10+11)/2 = 10.5

    leg    speed   roll_speed
      1       10           10    # 10/1
      1       11           10.5  # (10+11)/2
      1       12           11    # (10+11+12)/3
      1       13           11.5  # (10+11+12+13)/4
      1       12 …
    Run Code Online (Sandbox Code Playgroud)

python average pandas rolling-average

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

如何使您的 Google 工作表将导入的 JSON 数据读取为数字?

我已将 JSON 数据导入到我的工作表中。我想对导入的数据使用诸如=STDEV和 之类的函数,但如果这样做,我就会不断收到错误。我能做什么来解决这个问题?=AVERAGE#div/0

json average google-sheets array-formulas google-sheets-formula

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

在 R 中模拟掷骰子

我正在尝试用 R 编写以下游戏:

  • 掷骰子,直到出现 4,然后出现 6
  • 计算一下您观察到 4 后跟 6 需要多少次
  • 重复前两个步骤 100 次
  • 计算观察到 4 和 6 所需的平均次数

我尝试手动模拟如下 - 我首先使用 R 中的“runif”命令多次“掷骰子”,希望您最终会看到 4 后面跟着 6 (我不知道如何使用“直到循环”进行编码)。我重复了 100 次,并将所有这些卷放入数据框中:

roll_1 = floor(runif(100, min=1, max=6))

roll_2 = floor(runif(100, min=1, max=6))

roll_3 = floor(runif(100, min=1, max=6))

roll_4 = floor(runif(100, min=1, max=6))

roll_5 = floor(runif(100, min=1, max=6))

#etc 

roll_100 = floor(runif(100, min=1, max=6))

all_rolls = data.frame(roll_1, roll_2, roll_3, roll_4, roll_5, roll_100)
Run Code Online (Sandbox Code Playgroud)

这看起来如下:

head(all_rolls)
  roll_1 roll_2 roll_3 roll_4 roll_5 roll_100
1      4      2 …
Run Code Online (Sandbox Code Playgroud)

loops average r probability data-manipulation

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