我想要事先澄清的是,我正在寻找使用Streams计算标准偏差的方法(目前有一种工作方法可以计算并返回标准偏差,但不使用Streams)。
我正在处理的数据集与链接中所示非常相似。如此链接所示,我能够对我的数据进行分组并获得平均值,但无法弄清楚如何获取标准偏差。
代码
outPut.stream()
.collect(Collectors.groupingBy(e -> e.getCar(),
Collectors.averagingDouble(e -> (e.getHigh() - e.getLow()))))
.forEach((car,avgHLDifference) -> System.out.println(car+ "\t" + avgHLDifference));
我还查看了关于DoubleSummaryStatistics的链接,但似乎对SD没有帮助。
DoubleStatistics
收集了标准差和平均值。你可以使用一个Map<String, DoubleStatistics>
存储所有信息。 - TunakiLongSummaryStatistics
实际上会发生溢出导致LongStream.of(Long.MAX_VALUE, Long.MAX_VALUE).summaryStatistics().getAverage()
结果为-1.0
,然而没有人关心。我认为遇到这种溢出的机率比遇到平方和溢出的机率更高。 - Tagir Valeev