Wie kann ich eine Numpy-Funktion erstellen, die ein Numpy-Array, ein Iterable oder einen Skalar akzeptiert?
Angenommen, ich habe Folgendes:
def incrementElements(x):
return x+1
Ich möchte es jedoch so ändern, dass es entweder ein numpy-Array, ein iterables oder ein skalares Array annehmen und das Argument in ein numpy-Array umwandeln und 1 zu jedem Element hinzufügen kann.
Wie könnte ich das machen? Ich nehme an, ich könnte die Argumentationsklasse testen, aber das scheint eine schlechte Idee zu sein. Wenn ich das mache:
def incrementElements(x):
return numpy.array(x)+1
Es funktioniert ordnungsgemäß auf Arrays oder Iterables, jedoch nicht auf Skalaren. Das Problem hier ist dasnumpy.array(x)
for scalar x erzeugt ein seltsames Objekt, das in einem numpy-Array enthalten ist, aber kein "reales" Array ist. Wenn ich einen Skalar hinzufüge, wird das Ergebnis auf einen Skalar herabgestuft.