Meest efficiënte manier om de functie over een numpy-array in kaart te brengen

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

Wat is de meest efficiënte manier om een functie toe te wijzen aan een numpy-array? De manier waarop ik het in mijn huidige project heb gedaan is als volgt:

import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array van vierkant van elk element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) 

Dit lijkt echter het is waarschijnlijk erg inefficiënt, aangezien ik een list comprehension gebruik om de nieuwe array als een Python-lijst te construeren voordat ik deze terug converteer naar een numpy array.

Kunnen we het beter doen?