我有以下数组:
X = np.array([[68. , 21.5],[71. , 23.5],[ 73. , 22.5 ],[ 64. , 18. ],[ 68. , 23.5],
[ 65, 20. ]])
T=np.array(['Female','Male','Male','Female','Female','Male'])
Y=np.array([[9],[8],[9],[9],[8],[8]], dtype='uint8')
我正在尝试使用如下的lambda函数查找统计信息:
Stats1=lambda X,T:[[np.mean(x),np.std(x,ddof=1),len(x)] for x in [X[T=='Female'],[X[T=='Male']]]]
Stats2=lambda X,Y:[[np.mean(x),np.std(x,ddof=1),len(x)] for x in [X[Y==9],[X[Y==8]]]]
Stats1正常工作:
[[muF,sigmaF,NF],[muM,sigmaM,NM]]=Stats1(X,T)
但是Stats2给出了错误:
[[muP,sigmaP,NP],[muN,sigmaN,NN]]=Stats2(X,Y)
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-20-3678a0bdbb43> in <module>()
----> 1 [[muP,sigmaP,NP],[muN,sigmaN,NN]]=Stats2(X,Y)
<ipython-input-18-940d7bad1eef> in <lambda>(X, Y)
----> 1 Stats2=lambda X,Y:[[np.mean(x),np.std(x,ddof=1),len(x)] for x in [X[Y==9],[X[Y==8]]]]
IndexError: boolean index did not match indexed array along dimension 1; dimension is 2 but corresponding boolean dimension is 1
任何人都可以帮助我了解为什么以及如何修复它。