在numpy数组上映射函数的最有效方法是什么?我在当前项目中一直这样做的方式如下:
import numpy as np
x = np.array([1, 2, 3, 4, 5])
# Obtain array of square of each element in x
squarer = lambda t: t ** 2
squares = np.array([squarer(xi) for xi in x])
Run Code Online (Sandbox Code Playgroud)
但是,这看起来可能非常低效,因为我使用列表解析将新数组构造为Python列表,然后再将其转换回numpy数组.
我们可以做得更好吗?