问题描述
在 openrefine 中,我通过应用“聚类和编辑”然后应用“加入多值单元格”,有许多行由 (n) 个值(不同数量)的先前聚集的行组成。
"11.11,10.06,10.2,8.77,9.4,5.56"
然后我可以应用一个转换来总结它:
forEach(value.split(','),v,v.toNumber()).sum()
哪个工作正常,但无法弄清楚如何进行类似的过程:
-
同样得到平均值而不是总和
-
如果百分比的值类似于:
0.17%、1.49%、0.68%、0.29%、0.72%、22.22%
解决方法
要获得平均值,只需将总和除以聚集的行数(长度)即可。
forEach(value.split(','),v,v.toNumber()).sum() / value.split(',').length()
如果值中包含百分号,您可以通过将其替换为空字符串来删除它,然后执行上述操作。
forEach(value.replace('%','').split(',v.toNumber()).sum() / value.replace('%',').length() + '%'