Hallo zusammen
Bin wieder einmal am verzweifeln.
Ich habe aus zwei Arrays die Differenz der einzelnen Werte berechnet. Dem Resultat habe ich die Bezeichnung "ertrag" gegeben. Ich wollte nun mit einer if Verzweigung die Werte derart bearbeiten, dass ich für negative Werte bei "ertrag" den Wert 0 erhalte und für positive Werte den entsprechenden Wert aus "ertrag". Ich dachte das wäre relative einfach....naja.
Folgendes habe ich erfasst:
if ertrag > 0:
print(ertrag)
else:
print(0)
Leider erhalte ich immer den ValueError: The truth value of an Array with more than one element is ambiguous. Use a.any() or a.all()
Wo liegt denn hier das Problem?
if Verzweigung
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Bebbi: Das Problem ist das `ertrag` ein Array ist und ``ertrag > 0`` wieder ein Array ergibt und es wie die Ausnahme sagt nicht eindeutig ist was das denn nun im Kontext eines Wahrheitswertes bedeuten soll. Soll das war sein wenn alle Werte in `ertrag` grösser als 0 sind oder reicht es wenn irgendeiner davon grösser als 0 ist? In welchem Fall soll das ``if`` greifen?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Die Idee wäre, dass mir Python den Array bearbeitet. Der Array "ertrag" hat momentan z.B. folgende Werte 1,5,-0.5,3,-2 daraus möchte ich einen neuen Array erstellen, welche sämtliche Werte mit Ausnahme der negativen Werte übernimmt. Die negativen Werte sollen mit 0 überschrieben werden. Danach müsste die Zahlreihe entsprechend wie folgt aussehen: 1,5,0,3,0.