您如何在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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Python中一起使用pandas groupby和numpy

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类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运算符?

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

    在Python中一起使用pandas groupby和numpy

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档