Alle Werte in Python liste miteinander addieren?

2 Antworten

Es gibt die Funktion "sum"

L = [1,2,3]
print(sum(L)) # gibt 6 aus

Ludolph10082002 
Beitragsersteller
 21.12.2020, 16:58

Danke,

bei mir kommt nan raus obwohl die liste zahlen enthält

0
Ludolph10082002 
Beitragsersteller
 21.12.2020, 17:03
@xxxcyberxxx
0      62.400002
1      60.174999
2      61.404998
3            NaN
4      60.935001
         ...    
187    48.305000
188    49.315001
189          NaN
190    48.909999
191    48.800001
Length: 192, dtype: float64

ab und zu kommt nan auch in der Liste vor. (wegen fehlenden Daten)

Ist das ein Problem? 

Wenn ja kann man nan in der Rechnung auch einfach überspringen oder muss ich jetzt alle nans einzelnd löschen?

0
xxxcyberxxx  21.12.2020, 17:10
@Ludolph10082002

1. Ist das keine Standard-Liste. Was nutzt du denn genau - und woher kommt das NaN. Das ist nämlich kein Python-Standardtyp

2. Ja, natürlich ist das NaN darin ein Problem. Was soll denn bei einer Addition damit laut dir rauskommen

3. Ich weiß nicht, was du nutzt und ob es kompatibel ist, du könntest jedoch per List comprehension eine neue Liste ohne NaN erstellen. Je nachdem, woher das NaN kommmt, musst du es halt anders abfragen. Eventuell hilft es auch, das Konstrukt erstmal in eine Liste zu konvertieren

x = sum([x for x in L if x != NaN])

Alternativ einfach klassisch drüber iterieren - mit einer Schleife - und aufsummieren, wenn es eine Zahl ist

2