- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我正在尝试做一些统计分析,我一直在做 sum 与 stdev 有点不同。
Sum 可以像这样正常工作:
stats[0] = myData2.map(lambda (Column, values): (sum(values))).collect()
Stdev 的格式不同,无法正常工作:
stats[4] = myData2.map(lambda (Column, values): (values)).stdev()
我收到以下错误:
TypeError: unsupported operand type(s) for -: 'ResultIterable' and 'float'
最佳答案
第一个解决方案使用NumPy
data=[(1,[1,2,3,4,5]),(2,[6,7,8,9]),(3,[1,3,5,7])]
dataRdd = sc.parallelize(data)
import numpy
dataRdd.mapValues(lambda values: numpy.std(values)).collect()
# Result
# [(1, 1.4142135623730951), (2, 1.1180339887498949), (3, 2.2360679774997898)]
第二种解决方案 DIY 并使其更分布式
data = [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 6), (2, 7), (2, 8), (2, 9), (3, 1), (3, 3), (3, 5), (3, 7)]
# Generate RDD of (Key, (Sum, Sum of squares, Count))
dataSumsRdd = dataRdd.aggregateByKey((0.0, 0.0, 0.0),
lambda (sum, sum2, count), value: (sum + float(value), sum2 + float(value**2), count+1.0),
lambda (suma, sum2a, counta), (sumb, sum2b, countb): (suma + sumb, sum2a + sum2b, counta + countb))
# Generate RDD of (Key, (Count, Average, Std Dev))
import math
dataStatsRdd = dataSumsRdd.mapValues(lambda (sum, sum2, count) : (count, sum/count, math.sqrt(sum2/count - (sum/count)**2)))
# Result
# [(1, (5.0, 3.0, 1.4142135623730951)), (2, (4.0, 7.5, 1.118033988749895)), (3, (4.0, 4.0, 2.23606797749979))]
关于python - Spark .stdev() Python 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28812912/
在 Excel 中,我有两列。一个有球员的名字,另一个有得分。像这样: Player Points Foo 10 Bar 11 Foo 23 Test 9 Joe
我想根据一列中的标准执行 STDEV.P 计算。 我当前的公式是: {=STDEV.P(IF(Aggregated!Y$15:Y$3000="*cta*",Aggregated!AD15:AD3000
我正在尝试使用 StDev 函数,但得到空白结果。我用它作为... SELECT StDev(fldMean) FROM myTable 其中 fldMean 包含值 2.3,应该计算为 0,但我只是
我有一张 table : LocationId OriginalValue Mean 1 0.45 3.99 2 0.33 3.9
所以我正在尝试做一些统计分析,我一直在做 sum 与 stdev 有点不同。 Sum 可以像这样正常工作: stats[0] = myData2.map(lambda (Column, values)
我有一张如下所示的表格(简化版): col_A col_B col_C A 37 2 B 28 7 C 10 5 D
我需要一个 javascript 函数来匹配 Excel 的 STDEV 函数中使用的数学。 当我使用数组 [1,2,4,6] 时,我发现每个 js 脚本的标准偏差为 1.9202。但是,当我通过 E
有没有办法让 LINQ 将查询直接转换为 SQL 的 STDEV 之类的函数?例如,LINQ from t in table group t by t.something into g select
我有一个脚本来格式化一堆数据,然后将其推送到 excel 中,我可以在其中轻松清理损坏的数据,并进行更多分析。 作为其中的一部分,我将大量数据推送到 excel,并希望 excel 完成一些跑腿工作,
import statistics import numpy speed = [99,86,87,88,111,86,103,87,94,78,77,85,86] print(statistics.s
我有这样的表: 表名:pelamarmagisterrangkuman 然后我做了这样的 sql 来查找平均值、最小值、最大值 select `pelamarmagisterrangkuman`.`m
我有一个列表: s = [0.995537725, 0.994532199, 0.996027983, 0.999891383, 1.004754272, 1.003870012, 0.9998889
所以我有这段代码: $arr = array( 1,2,3,4,5,6 ); $num = count($arr); $sum = array_sum($arr); $average = $sum
我想在工作表中填充一些值,然后使用 jxl 公式从该工作表中获取值并将其写入另一个工作表... 当我尝试运行这个示例代码时 String filename = "C:\\input.xls";
我有一个图像作为灰度图像使用 Mat m = Highgui.imread(path, Highgui.CV_LOAD_IMAGE_GRAYSCALE); 在 Java 中,现在我想计算中值、平均值和
我是一名优秀的程序员,十分优秀!