您如何在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条评论
登录后参与评论

相关文章

来自分类Dev

在Python中一起使用pandas groupby和numpy

来自分类Dev

GROUP BY和COUNT或SUM如何在SQL查询中一起工作

来自分类Dev

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

来自分类Dev

如何在Python中一起使用applymap,lambda和dataframe来过滤/修改dataframe?

来自分类Dev

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

来自分类Dev

如何在gnuplot中一起使用“ var”和“ palette”?

来自分类Dev

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

来自分类Dev

如何在bootstrap 3 popover中一起使用“ show”和“ placement”等属性?

来自分类Dev

如何在SQL Server中一起使用PIVOT和JOIN?

来自分类Dev

如何在angularjs中一起使用angular-gridster和highcharts-ng指令

来自分类Dev

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

来自分类Dev

如何在Laravel中一起使用Memcached和APC?

来自分类Dev

如何在Access VBA编码中一起使用Select Case和AND功能?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在SQLAlchemy中一起使用JOIN和SELECT AS?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在 Html.Beginform 中一起使用 AjaxOptions 和 htmlattributes

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在Matlab中一起使用加/减

Related 相关文章

  1. 1

    在Python中一起使用pandas groupby和numpy

  2. 2

    GROUP BY和COUNT或SUM如何在SQL查询中一起工作

  3. 3

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

  4. 4

    如何在Python中一起使用applymap,lambda和dataframe来过滤/修改dataframe?

  5. 5

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

  6. 6

    如何在gnuplot中一起使用“ var”和“ palette”?

  7. 7

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

  8. 8

    如何在bootstrap 3 popover中一起使用“ show”和“ placement”等属性?

  9. 9

    如何在SQL Server中一起使用PIVOT和JOIN?

  10. 10

    如何在angularjs中一起使用angular-gridster和highcharts-ng指令

  11. 11

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

  12. 12

    如何在Laravel中一起使用Memcached和APC?

  13. 13

    如何在Access VBA编码中一起使用Select Case和AND功能?

  14. 14

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

  15. 15

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

  16. 16

    如何在SQLAlchemy中一起使用JOIN和SELECT AS?

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

    如何在 Html.Beginform 中一起使用 AjaxOptions 和 htmlattributes

  27. 27

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

  28. 28

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

  29. 29

    如何在Matlab中一起使用加/减

热门标签

归档