理解python中的np.mean

时间:2017-01-01 23:17:29

标签: python pandas numpy

我试图了解np.mean在以下示例中是如何工作的:

n = np.array([1,7,5,4])
m = pd.Series(data = [1,2,3,4],index = [1,2,3,4])

print(np.mean(n!=m))
## returns 0.5
print(np.mean(n[n!=m]))
## returns 4.0

有人可以解释第一个输出是如何计算出值0.5以及np.mean如何处理布尔系列n!= m?我理解第二部分正在做什么

2 个答案:

答案 0 :(得分:1)

n!= m返回一个布尔数组.True和False值分别被视为1,0。在这种情况下,(0 + 1 + 1,0)/ 4产生0.5

>>> n != m
1    False
2     True
3     True
4    False

dtype:bool

  
    
      

N [N!= M]       数组([1,7,7,1])

    
  

这意味着在' n'上应用布尔选择。它返回[1,7,7,1] / 4收益率4

>>> condition = [n !=m]
>>> condition
[1    False
2     True
3     True
4    False
dtype: bool]
>>> n[condition]
array([1, 7, 7, 1])

答案 1 :(得分:-1)

print(np.mean(n[n!=m]))应该返回6,而不是4。

因为n[n!=m] returns array([7, 5])