这里第一次发布海报!
假设我有一个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()"
。我已经对这两个函数做了一些研究,但我不太明白如何将它们应用到我的问题中!
有人能给我一些方向吗?
完全披露 - 这是作业的一部分。
谢谢!