计算标准开发。一个numpy数组,如果,跳过符合条件的行

时间:2017-04-03 20:32:17

标签: python arrays numpy

这里第一次发布海报!

假设我有一个3D numpy数组(2,6,3)看起来像这样(伪代码):

 matrix = [[['1' 'blue' '0.767041']
      ['2' 'yellow' '0.647259']
      ['3' 'green' '0.990185']
      ['4' 'red' '0.593180']
      ['5' 'green' '0.855915']
      ['6' 'blue' '1.335018']]  
     [['1' 'blue' '0.767041']
          ['2' 'yellow' '0.647259']
          ['3' 'green' '0.990185']
          ['4' 'red' '0.593180']
          ['5' 'green' '0.855915']
          ['6' 'blue' '1.335018']]]

我如何使用go计算统计数据,例如std。开发。每个2D数组的第3列,条件是第2列==“蓝色”?

这就是我尝试过的(伪代码):

stddev_blue = []
for pts in matrix:
    if pts[:, 1] == "blue":
            stddev_blue.append(np.std(pts[:, 2].astype(float)))

但我一直收到错误"The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"。我已经对这两个函数做了一些研究,但我不太明白如何将它们应用到我的问题中!

有人能给我一些方向吗?

完全披露 - 这是作业的一部分。

谢谢!

0 个答案:

没有答案