numpy函数的默认值是什么,where = False?

时间:2017-08-07 09:24:12

标签: python numpy numpy-ufunc

ufunc documentation州:

  

,其中

     

1.7版中的新功能。   接受与操作数一起广播的布尔数组。值True表示计算该位置的ufunc,值False表示仅在输出中保留该值。

未提供 //JS code var app = angular.module('myApp', []) .controller('AppController', function($scope) { $scope.data = 'Hello'; }); //template code <div ng-app="myApp"> <div ng-controller="AppController"> <h1> {{data}}</h1> </div> </div> 时的默认行为是什么?

我观察到了一些对我来说没有意义的行为:

out

有谁知道潜在的原因/行为? 特别是import numpy as np a,b = np.ones((2,2)) np.add(a,b,where = False) #returns 0 np.exp(a, where = False) #returns 1 np.sin(a, where = False) #returns 1 np.sign(a, where = False) #returns 0 np.reciprocal(a, where = False) #returns 0 没有意义,因为倒数值永远不会是0

编辑:行为更加复杂:

np.reciprocal

我正在使用Numpy版本1.11.1

1 个答案:

答案 0 :(得分:4)

它看起来像垃圾,因为它确实是什么 - 记忆被垃圾收集。

无论你调用什么函数都会留出一块内存来放置结果,但是从不在那里放任何结果,因为where=False。你得到了与np.empty相同的值 - 即在分配函数之前该内存块中的垃圾。