在Python的子列表中找到第n个元素的方差

时间:2018-09-26 17:28:42

标签: python

我正在使用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

1 个答案:

答案 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.]