Seite 1 von 1

Probleme mit if schleife

Verfasst: Freitag 16. Februar 2018, 17:26
von TobiFrischling
Hi Community ,

ich habe jetzt versucht eine Idee umzusetzen , aber leider ohne richtig erfolg damit zu haben :(

Code: Alles auswählen

sv=np.array([np.nan,2,4,3,1,6,7,5])
V=np.array([1,2,3,4,5])

if sv[:0] == np.nan:
    l= np.repeat(0,len(V))
else:
    l = sv[1:]

print(l)
AUSGABE : -> [ 2. 4. 3. 1. 6. 7. 5.]


ich versuche es noch einmal zu erklären, also falls das erste Element von sv gleich NA ist , dann konstruiere ein Vektor l mit nur Nullen und der Länge von V
und falls nicht dann konstruiere l als sv ohne das erste Element


ABER: ich kann echt nicht die Ausgabe verstehen , ich mein die Syntax ist korrekt und alles scheint in Ordnung zu sein

Re: Probleme mit if schleife

Verfasst: Freitag 16. Februar 2018, 17:45
von noisefloor
Hallo,

du verwendest das Slicing falsch (bzw der Einsatz ist falsch hier). `[:0]` bedeutet "vom Anfang des Arrays bis zum Element mit Index 0, exklusive letzterem". Das ist halt eine leeres Array. Wenn du das erste Elemente (=Index 0) haben willst, dann musst du nur dieses referenzieren.

[codebox=pycon file=Unbenannt.txt]>>> import numpy as np
>>> sv = np.array([np.nan, 1, 2, 3])
>>> sv[:0]
array([], dtype=float64)
>>> sv[0]
nan[/code]

Den Array mit Nullen schreibt man eleganter so:

[codebox=pycon file=Unbenannt.txt]>>> np.zeros(len(V), dtype=int)
array([0, 0, 0])[/code]

Und zum Titel " Probleme mit if schleife" siehe: Link.

Gruß, noisefloor

Re: Probleme mit if schleife

Verfasst: Freitag 16. Februar 2018, 18:16
von TobiFrischling
:lol: :lol: okay dass mit der Schleife war dumm

Okay ,danke :D
aber jetzt habe ich anstatt sv[:0] einfach mal sv[0] geschrieben
trotzdem bleibt meine Ausgabe gleich ..... eigentlich müsste ein l Vektor kommen der nur nan als einträge hat mit der länge von V

Re: Probleme mit if schleife

Verfasst: Freitag 16. Februar 2018, 19:13
von noisefloor
Hallo,

axo - testen auf "Nan" funktioniert so:

[codebox=pycon file=Unbenannt.txt]>>> np.isnan(sv[0])
True
>>>[/code]

Gruß, noisefloor

Re: Probleme mit if schleife

Verfasst: Samstag 17. Februar 2018, 11:26
von TobiFrischling
Danke :D
klappt