【问题标题】:Average of splited value in OpenRefine formulaOpenRefine 公式中拆分值的平均值
【发布时间】:2021-01-04 20:00:51
【问题描述】:

在 openrefine 中,我通过应用“聚类和编辑”然后应用“加入多值单元格”,有许多行由 (n) 个值(不同数量)的先前聚类的行组成。

"11.11, 10.06, 10.2, 8.77, 9.4, 5.56"

然后我可以应用一个转换来总结它:

forEach(value.split(','),v,v.toNumber()).sum()

效果很好,但不知道如何进行类似的处理:

  1. 做同样的事情来获得平均值而不是总和

  2. 如果百分比百分比的值如下所示,则取平均值:

    0.17%、1.49%、0.68%、0.29%、0.72%、22.22%

【问题讨论】:

    标签: openrefine grel


    【解决方案1】:

    看看GREL String Functions

    要获得平均值,只需将总和除以聚集行数(长度)即可。

    forEach(value.split(','),v,v.toNumber()).sum() / value.split(',').length()
    

    如果值包含百分号,您可以通过将其替换为空字符串来删除它,然后按上述操作。

    forEach(value.replace('%','').split(','),v,v.toNumber()).sum() / value.replace('%','').split(',').length() + '%'
    

    【讨论】:

    • 两者都很好用,谢谢。一个 AVG 函数将在 GREL 上大大简化这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 2015-09-29
    相关资源
    最近更新 更多