有没有简单的方法来获取集合中属性的平均值?
例如,每个用户都有一个分数.
给定一组用户(@users),您如何获得该组的平均分数?
有没有像@ users.average(:score)这样的东西?我想我在数据库领域遇到过这样的事情,但是我需要它来为一个集合工作......
可能重复:
如何计算一组角度的平均值?
如果我有一套1-360的轴承,我怎样才能找到平均值?通常要找到平均值,将它们全部加起来并除以项目数.这里的问题是,在[1,359],2个轴承的情况下这样做会导致180,实际上应该是360.任何想法?
我想知道如何计算某些数字的累积平均值.我将举一个简单的例子来描述我在寻找什么.
我有以下数字
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但我真的不知道如何去做.谢谢,我觉得这应该很容易.
我有一个列表,我想计算她的值的平均值(平均值?).当我这样做:
import numpy as np #in the beginning of the code
goodPix = ['96.7958', '97.4333', '96.7938', '96.2792', '97.2292']
PixAvg = np.mean(goodPix)
Run Code Online (Sandbox Code Playgroud)
我收到此错误代码:
ret = um.add.reduce(arr, axis=axis, dtype=dtype, out=out, keepdims=keepdims)
Run Code Online (Sandbox Code Playgroud)
TypeError: cannot perform reduce with flexible type
我试图找到一些帮助,但没有找到有用的东西
谢谢你们.
因此,我目前正在使用'accumarray'来查找与匹配ID相对应的一系列数字的平均值.输入输入:
ID----Value
1 215
1 336
1 123
2 111
2 246
2 851
Run Code Online (Sandbox Code Playgroud)
我当前的代码找到上述值的未加权平均值,使用ID作为'分隔符',这样我就不会将所有值的平均值作为一个数字一起得到,而是仅将具有相应ID的值的单独结果分开.EX输出:
ID----Value
1 224.66
2 402.66
Run Code Online (Sandbox Code Playgroud)
为此,我使用此代码:
[ID, ~, Groups] = unique(StarData2(:,1),'stable');
app = accumarray(Groups, StarData2(:,2), [], @mean);
Run Code Online (Sandbox Code Playgroud)
使用StarData2作为函数的输入.这对我的目的来说是完美的,直到现在,我需要知道是否可以使用accumarray给我一个加权平均值,这样app中的每个点(在找到平均值之前)都可以赋予权重或@mean可以被替换为可以实现此目的的功能.新输入将如下所示:
ID----Value----Weight
1 215 12
1 336 17
1 123 11
2 111 6
2 246 20
2 851 18
Run Code Online (Sandbox Code Playgroud)
新代码必须求和(val(i)*weight(i))/ sum(weight)而不仅仅是标准均值.谢谢你的帮助.
当它大于零时,我想得到一个列的平均值.
Select Avg(Case when Column > 0 then Column else 0 end) as Avg
Run Code Online (Sandbox Code Playgroud)
但我担心该else条款不正确.我想忽略平均值中的零值.
我想用数组评级中的评级字段计算此对象的rating_average字段.你能帮我理解如何使用$ avg进行聚合吗?
{
"title": "The Hobbit",
"rating_average": "???",
"ratings": [
{
"title": "best book ever",
"rating": 5
},
{
"title": "good book",
"rating": 3.5
}
]
}
Run Code Online (Sandbox Code Playgroud) 为什么我可以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 方法?
average ×10
mean ×2
python ×2
accumarray ×1
bearing ×1
case ×1
collections ×1
dictionary ×1
geospatial ×1
java ×1
java-stream ×1
list ×1
math ×1
matlab ×1
mongodb ×1
r ×1
rating ×1
ruby ×1
sql ×1
sql-server ×1