jak mogę utworzyć funkcję numpy, która akceptuje tablicę numpy, iterowalną lub skalarną?
Przypuśćmy, że mam to:
def incrementElements(x):
return x+1
ale chcę go zmodyfikować, aby mógł przyjąć tablicę numpy, iterowalną lub skalarną, i promować argument do tablicy numpy i dodać 1 do każdego elementu.
Jak mogłem to zrobić? Przypuszczam, że mógłbym przetestować klasę argumentów, ale to wydaje się złym pomysłem. Jeśli to zrobię:
def incrementElements(x):
return numpy.array(x)+1
działa poprawnie na tablicach lub iterowalnych, ale nie na skalarach. Problem polega na tymnumpy.array(x)
dla skalara x tworzy jakiś dziwny obiekt zawarty w tablicy numpy, ale nie jest „prawdziwą” tablicą; jeśli dodam do niego skalar, wynik zostanie obniżony do skalara.