我想知道是否可以计算一些数字的平均值,如果我有这个:
int currentCount = 12;
float currentScore = 6.1123 (this is a range of 1 <-> 10).
Run Code Online (Sandbox Code Playgroud)
现在,如果我收到另一个分数(比方说4.5),我可以重新计算平均值,所以它会是这样的:
int currentCount now equals 13
float currentScore now equals ?????
Run Code Online (Sandbox Code Playgroud)
或者这是不可能的,我仍然需要记住分数列表?
我在SQL Server中有一个表来存储一块硬件的统计信息,表中的行表示给定秒的数据.它包含例如这些列:
timestamp (DateTime)
value (int)
Run Code Online (Sandbox Code Playgroud)
我想要做的是从表中选择给定日期/时间范围的数据,但返回给定的时间段(例如1分钟,5分钟,1天等)给定的平均值范围.所以一个小时我就有60行1分钟的平均值.
我从哪里开始呢?有人有什么观点或想法吗?
我想从一个表中的一个列(value_to_count)中获得三个不同的平均值,其中所有这些平均值具有不同的WHERE子句(根据时间).
###services#### Table
service_id value_to_count time
----------- ----------------------- ---------
604 2054 04:04:50
604 3444 05:00:15
604 2122 07:12:50
604 2144 09:10:50
604 2001 13:12:53
602 2011 15:00:12
602 2115 17:22:35
602 1411 20:22:12
602 1611 21:04:52
602 2111 23:43:45
Run Code Online (Sandbox Code Playgroud)
我现在正在使用此查询来获得18到23之间的平均值:
SELECT
service_id AS service, AVG(value_to_count) AS primetime
FROM services
WHERE HOUR(time) BETWEEN 18 AND 23
GROUP BY service_id
Run Code Online (Sandbox Code Playgroud)
它给了我这样的结果:
### Result ####
service primetime
----------- --------------
604 2154
602 2444
Run Code Online (Sandbox Code Playgroud)
现在我想得到我已经得到的其他平均值.这一次,我只是想通过"HOUR(时间)之间的06和18"和平均"HOUR(时间)23与06"以及.
这是我想得到的结果形式:
### Wanted Result ####
service primetime …Run Code Online (Sandbox Code Playgroud) 我有一个包含2个字段的SQL表:TimeStamp和Value.以下是一些数据的摘录.
2005-02-17 13:31:00 2
2005-02-17 13:46:00 3
2005-02-17 14:01:00 1.7
2005-02-17 14:16:00 2.3
2005-02-17 14:31:00 2
2005-02-17 14:46:00 2.5
2005-02-17 15:01:00 2.2
2005-02-17 15:16:00 2.4
2005-02-17 15:31:00 2.6
2005-02-17 15:46:00 2.6
2005-02-17 16:01:00 2.7
Run Code Online (Sandbox Code Playgroud)
我试图按时间平均值列值,但我似乎无法正常工作.最终输出将显示TimeStamp的起始小时,以及Value列的平均值.
对于最终输出,我希望得到一个完整的时间戳,而不仅仅是小时.所以从2005-02-17的14:00到14:59,产生的结果将是:
2005-02-17 14:00:00 2.125
Run Code Online (Sandbox Code Playgroud) 我有一个家庭作业,我想知道是否有人可以帮助我,因为我不熟悉Java和编程,而且我遇到了问题.问题是:
第一种方法查找整数数组的元素的平均值:
public double average(int[] data)
Run Code Online (Sandbox Code Playgroud)
也就是说,给定一个整数数组,数据,计算其元素的平均值是否返回平均值.例如,{1,3,2,5,8}的平均值为3.8.
这是我到目前为止所做的:
public double average(int[] data) {
int sum = 0;
while(int i=0; i < data.length; i++)
sum = sum + data[i];
double average = sum / data.length;;
System.out.println("Average value of array element is " " + average);
}
Run Code Online (Sandbox Code Playgroud)
在编译时,我在int i=0".class expected"部分收到错误消息.任何帮助,将不胜感激.
我有字典列表.让我们说吧
total = [{"date": "2014-03-01", "value": 200}, {"date": "2014-03-02", "value": 100}{"date": "2014-03-03", "value": 400}]
Run Code Online (Sandbox Code Playgroud)
我需要从中获得最大值,最小值,平均值.我可以使用以下代码获取最大值和最小值:
print min(d['value'] for d in total)
print max(d['value'] for d in total)
Run Code Online (Sandbox Code Playgroud)
但现在我需要从中得到平均值.怎么做?
我想知道如何计算某些数字的累积平均值.我将举一个简单的例子来描述我在寻找什么.
我有以下数字
vec <- c(1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)
如果我做这些数字的平均值,我将得到3.
现在,如何做这些数字的累积平均值.
我有一本看起来像这样的字典...
CombinedDict = {'Abamectin': [63, 31, 53], 'Difenzoquat metilsulfate': [185, 49, 152], 'Chlorpyrifos': [14, 26, 56], 'Dibutyl phthalate': [25, -17, -18]
Run Code Online (Sandbox Code Playgroud)
等等.我总共有48个不同的按键.
我想要得到的是这三个数字的平均值.所以我会得到一个看起来像这样的字典...
AvgDictName = {'Abamectin': [49], 'Difenzoquat metilsulfate': [128], 'Chlorpyrifos': [32], 'Dibutyl phthalate': [-3] . . .
Run Code Online (Sandbox Code Playgroud)
我试过用这条线
AvgDictName = dict([(key, float(sum([int(i) for i in values])) / len(values)) for key, values in CombinedDict])
Run Code Online (Sandbox Code Playgroud)
但我得到太多的值来解压错误 任何想法?我认为也可以通过将dict放入列表并使用len和sum命令从列表中查找平均值然后转换回dict但我真的不知道如何去做.谢谢,我觉得这应该很容易.
为什么我可以average()在一个上调用方法而不在另一个上调用方法?它们不应该是等价的吗?
示例 1 - 作品
List<String> stringList = new ArrayList<>();
stringList.add("2");
stringList.add("4");
stringList.add("6");
// String array ("2","4", "6"
averageValue = stringList.stream()
.mapToInt(s -> Integer.valueOf(s))
.average()
.getAsDouble();
Run Code Online (Sandbox Code Playgroud)
示例 2 - 不编译(删除 mapToInt 调用,因为已经传递了整数流)
List<Integer> IntegerList = new ArrayList<>();
IntegerList.add(2);
IntegerList.add(4);
IntegerList.add(6);
averageValue = IntegerList.stream()
.average()
.getAsDouble();
Run Code Online (Sandbox Code Playgroud)
问题是,当我已经将整数流传递给它时,为什么我需要调用 mapToInt 方法?