Am Titel meiner Frage seht ihr bestimmt schon, dass ih nicht besonders geübt im Programmieren bin. Ich habe eine Frage, die wahrscheinlich ziemlich einfach zu beantworten ist.
Ich habe ein numpy array mit vielen "nan" und ein paar "-1" und "1".
Ich möchte alle stellen finden, in denen nicht "nan" steht, aber in dre Stellen vorher und zwei Stellen danach "nan" steht.
z.B.:
Das array könnte so aussehen: [ nan nan nan nan -1 nan 1 nan nan nan nan -1 nan nan nan nan ]
Jetzt suche ich die Stelle, die nicht nan ist aber von nans umgeben ist und zwar drei Stellen vorher und zwei Stellen danach.
Hier wäre die Antwort also 11
In meinem Fall gibt es mehrere dieser Stellen und ich hätte alle Stellen gerne in einer Liste oder einem numpy array ausgegeben.
Ich könnte ein loop machen in der Form
Code: Alles auswählen
stelle = []
For i in np.arange(3,len(a)-3):
if a[i] not np.isnan(a[i]) and np.all(np.isnan(a[i-3:i])) and np.all(np.isnan(a[i+1:i+3])):
stelle.append(i)