Najbardziej wydajny sposób mapowania funkcji na tablicy numpy

| | | | | | | | | | | | |

Jaki jest najskuteczniejszy sposób mapowania funkcji na tablicę numpy? Sposób, w jaki robiłem to w moim obecnym projekcie, jest następujący:

import numpy jako np x = np.array([1, 2, 3, 4, 5]) # Uzyskaj tablica kwadratów każdego elementu w x squarer = lambda t: t ** 2 kwadraty = np.array([squarer(xi) for xi in x]) 

Wydaje się to jednak jest to prawdopodobnie bardzo nieefektywne, ponieważ używam list składanych do konstruowania nowej tablicy jako listy Pythona przed przekonwertowaniem jej z powrotem na tablicę numpy.

Czy możemy zrobić lepiej?