您如何在Groovy中一起使用GroupBy和Sum?

Zaccak解决方案

我有这样的收藏:

[[patient1,value1], [patient2,value2]]

例如。
x = [[1, 20.28], [1, 11.11], [2, 4.60], [2, 3.68]]

countBy经常这样获取每个患者的计数:

def counts = x.countBy{patient, value -> patient}

我试图获得每位患者的总和,但是没有运气:

def sums = x.groupBy({patient, value -> patient }).collectEntries{p, v -> p:v.sum()}

有什么我想念的吗?

注意:这里的总体目标是获取我使用的患者平均值:

def avgs = sums.collect{patient, value -> (value / counts[patient]) }

谢谢!

内森·休斯(Nathan Hughes)

在groupBy方法中,闭包标识要分组的内容,列表条目将在分组值下归档:

x.groupBy { it[0] } // map entries by first entry in list (patient number)

评估为

[1:[[1, 20.28], [1, 11.11]], 2:[[2, 4.60], [2, 3.68]]]

考虑到collectEntries的每个输入都有一个键的患者编号和一个值的该键对的列表,collectEntries方法指定使每个映射条目看起来像什么。所以

x.groupBy {it[0]}.collectEntries {[(it.key): it.value.sum {it[1]}]}

评估为

[1:31.39, 2:8.28]

每个病人的平均数是

x.groupBy {it[0]}.collectEntries {[(it.key): it.value.sum {it[1]}/it.value.size()]}

评估 [1:15.695, 2:4.14]

对于平均值的平均值:

def avgs = [1:15.695, 2:4.14]
def averageOfAverages = avgs.entrySet().sum {it.value} / avgs.size()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Pandas 中一起使用 groupby、select、count(*) 和 SQL 的 where 命令

如何在 MongoDB 中一起使用 match 和 sum?

在Python中一起使用pandas groupby和numpy

如何在 Elastic search 聚合中一起做 sum + cardinality,比如 sum(distinct target) 和 distinct( sum(amount)))

如何在while和foreach循环中一起使用PHP和MySQL?

如何在 Swift iOS 中一起使用 UITableView 和 NSLink?

如何在PHP中一起使用复选框和输入类型编号

如何在SQL Server中一起使用相等和不相等

如何在for循环中一起使用innerHTML和ejs?

如何在Verilog中一起使用inout和reg

如何在python中一起使用.join()和.format()

如何在熊猫中一起使用distinct和where子句?

我如何在React中一起使用'update'和setState(prevState)?

如何在Google表格中一起使用to_date和IFERROR?

如何在Bash中一起使用watch和jobs命令?

如何在Apache Beam中一起使用MapElements和KV?

如何在输入中一起使用 :value 和 v-model

如何在Python中一起使用filter,group by和agg函数

如何在SQL Server中一起使用count,case和Distinct

如何在laravel中一起使用whereBetween和like运算符?

如何在SQL中一起使用IN子句和AND子句

如何在Scrapy中一起使用http和https代理?

如何在SQL Server查询中一起使用LIKE和NOT LIKE

如何在angular 1中一起使用ng-if和ng-options

如何在SQL中一起使用数据透视和分组依据?

如何在Redis中一起使用复制和分片?

如何在适配器类和活动中一起使用Interface

如何在Powerapps中一起使用collect和if函数?

如何在Ansible中一起使用loop和with_nested