我正在使用python寻找数组中每个子数组的第一个元素的方差。
数据看起来像这样...
INPUT = [[x1, y1, z1], [x2, y2, z2], [x3, y3, z3], ... [xn, yn, zn]]
# Code magic
OUTPUT = [x_var, y_var, z_var]
有什么Python方法可以做到这一点吗?
我目前正在这样做。请不要判断得太苛刻。
INPUT = [[1,2,3], [4,5,6], [7,8,9]]
OUTPUTx = [item[0] for item in INPUT]
OUTPUTy = [item[1] for item in INPUT]
OUTPUTz = [item[2] for item in INPUT]
OUTPUTx = numpy.var(OUTPUTx)
OUTPUTy = numpy.var(OUTPUTy)
OUTPUTz = numpy.var(OUTPUTz)
OUTPUT = numpy.zeros(3)
OUTPUT[0] = OUTPUTx
OUTPUT[1] = OUTPUTy
OUTPUT[2] = OUTPUTz
答案 0 :(得分:1)
您可以从文档中的var函数中指定轴:
axis:无或为int或int的元组,可选的Axis或沿其排列的轴 计算方差。默认值是计算 展平的数组。
代码:
import numpy as np
INPUT = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(np.var(INPUT, axis=0))
输出
[6. 6. 6.]