numpy.fromfunction使用参数作为数组对函数进行单次调用,如例如this answer。因此,要使用numpy.fromfunction,需要该函数接受数组参数并返回一个数组。
如何根据为每个元素调用的函数制作numpy数组,其中函数返回元素的标量,例如使用如下所示的max
函数?
z = numpy.fromfunction(max, (2, 2), dtype=int)
然后会返回:
[[0 1]
[1 1]]
答案 0 :(得分:2)
您可以{/ 3}}使用
PDF
请注意文档中的这句话:
提供矢量化功能主要是为了方便,而不是为了提高性能。实现基本上是for循环。
本质上vmax = numpy.vectorize(max)
z = numpy.fromfunction(vmax, (2, 2), dtype=int)
会很慢。在此示例中,numpy.vectorize
会更快:
numpy.maximum