Ich habe eine Funktion, die auf Arrays mit mehr als einem Element funktioniert, aber fehlschlägt, wenn das Array nur ein Element enthält. Betrachten wir dieses BeispielTypeError/Array-Indexierung; 'int' Objekt unterstützt keine Item-Zuweisung
import numpy as np
def checker(a):
a[a>5] = np.nan
a = np.arange(10)
a = checker(a)
Works, aber
a = 1
a = checker(a) # fails
und gibt
Traceback (most recent call last):
a[a>5] = np.nan
TypeError: 'int' object does not support item assignment
Ich möchte es wie MATLAB zu handhaben, und nicht wie diese Version von checker(), Das hat 4x mehr Zeilen als die obige Version.
def checker(a):
try:
a[a>5] = np.nan
except TypeError:
if a>5: a = np.nan
verwenden Was sind Sie versuchen, hier zu tun? – Eric
Ich versuche, etwas zu berechnen, vorausgesetzt, einige Bedingungen erfüllt sind – Lukas