有没有简单的方法来获取集合中属性的平均值?
例如,每个用户都有一个分数.
给定一组用户(@users),您如何获得该组的平均分数?
有没有像@ users.average(:score)这样的东西?我想我在数据库领域遇到过这样的事情,但是我需要它来为一个集合工作......
可能重复:
如何计算一组角度的平均值?
如果我有一套1-360的轴承,我怎样才能找到平均值?通常要找到平均值,将它们全部加起来并除以项目数.这里的问题是,在[1,359],2个轴承的情况下这样做会导致180,实际上应该是360.任何想法?
我的数据框有以下几列:
df1 <- data.frame(A = c(1,2,4), B=c(1,3,1), C=c(1,1,3))
Run Code Online (Sandbox Code Playgroud)
我有两个条件来获得A列的平均值.
我知道我可以使用过滤器来剪切数据帧,使列B = 1.但是,当我希望将列B视为1和3范围内的范围时,我不确定该怎么做.
是否有更智能的方法来获取列的平均值而不将数据帧首先缩小为更小的尺寸?
我有一个列表,我想计算她的值的平均值(平均值?).当我这样做:
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)而不仅仅是标准均值.谢谢你的帮助.
如何在平均值中添加和减去数字而不必遍历整个列表?
这在许多情况下非常有用.例如,连续计算流中最后X个值的平均值,将两个平均值相加,并根据新用户投票更新评级.
当它大于零时,我想得到一个列的平均值.
Select Avg(Case when Column > 0 then Column else 0 end) as Avg
Run Code Online (Sandbox Code Playgroud)
但我担心该else条款不正确.我想忽略平均值中的零值.
我正在尝试用 R 编写以下游戏:
我尝试手动模拟如下 - 我首先使用 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) average ×10
r ×3
math ×2
mean ×2
accumarray ×1
bearing ×1
case ×1
collections ×1
encryption ×1
geospatial ×1
iteration ×1
list ×1
loops ×1
matlab ×1
performance ×1
probability ×1
python ×1
ruby ×1
sql ×1
sql-server ×1