草庐IT

ruby-on-rails - Ruby on Rails 平均水平?

有没有一种简单的方法可以获取集合中某个属性的平均值?例如,每个用户都有一个分数。给定一组用户(@users),您如何获得该组的平均分?有没有类似@users.average(:score)的东西?我想我在数据库字段中遇到过类似的东西,但我需要它来处理集合...... 最佳答案 对于你的问题,实际上可以这样做:@users.collect(&:score).sum.to_f/@users.lengthif@users.length>0早些时候我认为,@users.collect(&:score).average会起作用。对于数据库字段

ruby - 如何计算数组中对象的平均值?

假设我有一个这样的数组:[{"player_id"=>1,"number_of_matches"=>2,"goals"=>5},{"player_id"=>2,"number_of_matches"=>4,"goals"=>10}]我想要所有球员每场比赛的平均进球数,不是每个球员的平均进球数,而是总平均进球数。我想用.each来做这件事并存储每个单独的平均值,最后将它们全部相加并除以我拥有的玩家数量。但是,我正在寻找一种Ruby/单行方式来执行此操作。 最佳答案 根据要求,一行:avg=xs.map{|x|x["goals"].to

ruby-on-rails - 从日期集合中查找平均日期(Ruby)

我有一个猜测表,每个猜测中只有一个日期。我想知道如何将两个或多个日期转换为平均值。类似这样的事情,但显然Ruby不会让我划分两个日期。 最佳答案 Date有点难用,你应该用Time。尝试将日期转换为时间:require'time'foo_time=Time.parse(foo.to_s)bar_time=Time.parse(bar.to_s)将它们转换为时间戳,然后计算平均值,然后转换回时间:avg=Time.at((foo_time.to_f+bar_time.to_f)/2)您可以将其转换回日期:avg_date=Date.p

ruby 方式 : catch division by zero

我有以下方法来计算平均值:defcompute_average(a,b,c,d,e)total=[a,b,c,d,e].sum.to_faverage=[a,2*b,3*c,4*d,5*e].sum/totalaverage.round(2)end这没什么特别的,但它有一个问题,我认为所有平均方程都有:如果输入全为零,它可能被零除。所以,我想到了这样做:defcompute_average(a,b,c,d,e)total=[a,b,c,d,e].sum.to_fiftotal==0average=0.00elseaverage=[a,2*b,3*c,4*d,5*e].sum/total

javascript - 汇总对象数组并计算每个唯一对象名称的平均值

我有一个这样的数组:vararray=[{name:"a",value:1},{name:"a",value:2},{name:"a",value:3},{name:"b",value:0},{name:"b",value:1}];我需要这样的数组:varnewarray=[{name:"a",value:2},{name:"b",value:0.5}]新数组将每个唯一名称作为具有平均值的对象。有没有简单的方法可以做到这一点? 最佳答案 您必须遍历数组,计算每个对象的总和和计数。这是一个快速实现:functionaverage(ar

javascript - 获取 date_histogram 的 buckets 平均值,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":{"fie

JavaScript:获取数组中的平均对象?

我正在尝试想出一种方法来简化这段代码,使用最少的循环和变量,但我遇到了麻烦。我想根据“值”获取数组“数字”中的平均对象。我觉得必须有一种数学方法可以在不在另一个循环中找到最接近的平均值的情况下获得平均值。目前我有这个烂摊子:varnumbers=[ {value:41}, {value:19}, {value:51}, {value:31}, {value:11}];//Findaverage:varsum=0;for(vari=0;i我需要检索该对象,因为它包含我需要使用的其他信息。非常感谢任何帮助! 最佳答案 至少你需要两个循环

javascript - 使用Kendo Dataviz Vertical Bullet Graph,如何添加类似于条形图的标签?

尝试设计子弹图,使其完全符合营销部门的要求。所需的图表如下所示:如何在栏的顶部添加标签?我尝试从Kendo文档设置标签属性:labels:{visible:true,format:"{0}",font:"14pxArial",},这是我无法运行的脚本:$barChart=$("#bar-chart").empty();$barChart.kendoChart({theme:global.app.chartsTheme,renderAs:"svg",legend:{position:"bottom"},seriesDefaults:{type:"column"},series:[{typ

javascript - 我可以在 Highcharts 图表中添加一条 "average"线吗?

我正在尝试使用Highcharts重新创建图表(下图).我正在使用一个基本的条形图,我想知道是否有办法得到一条显示所有条形平均值的垂直线?我已经计算出该值,我只需要它如图所示显示即可。我可以使用Highcharts做到这一点吗? 最佳答案 是的。您可以将其添加为情节线,如下所示:yAxis:{//...OptionsplotLines:[{color:'red',value:'15',//Insertyouraverageherewidth:'1',zIndex:4//Tonotgetstuckbelowtheregularplot

在django中的queryset中添加所有值

我正在编写一个有两个类别的Django应用程序:评论和对上述评论的答复。回复存储在评论中的Manytomany领域中。这是我的班级评论:classReview(models.Model):title=models.CharField(max_length=30)replies=models.ManyToManyField(Reply)def__str__(self):returnself.title这是我的回复课:classReply(models.Model):rating=models.DecimalField(decimal_places=1,max_digits=2,validator