Datein lesen Python
Verfasst: Dienstag 18. Januar 2022, 14:00
[*]Hallo zusammen! also meine Frage ist eine etwas spezielle Frage, ich erwarte nicht dass jeder versteht was ich mache aber ich würde mich über ein paar Tipps freuen. Es ist ein langer Text aber ich würde mich freuen wenn ihr es lesen würdet ♥
Also es geht darum dass ich ein Dokument habe, ein Excell Tabelle mit verschiedenen Werten, nun sollte ich diese Werte in eine Liste speichern, das sind 8037 Werte, und zum beispiel für Wert 101, die 100 vorherigen Werte, den Wert für 101 und die folgenden 100 werte aufsummieren und davon den Mittelwert berechnen.
Hier die Aufgabe:
b.) Die Anzahl der gezählten täglichen Sonnenflecken unterliegt großen Schwankungen.
Berechnen Sie daher zu jedem dezimalen Datum den Mittelwert über die 100 vorangehenden, 100 folgenden und die aktuelle Anzahl der Sonnenflecken. Es reicht
die Mittelung nur für Daten zu machen, welche 100 vorangehende und folgende
Werte haben
Mein Versuch:
da python ja ab 0 anfängt zu Zählen und meine Liste ab Zeile 2 einen Wert hat, ist sozusagen die ersten 100 Zahlen Zeile 02-102, 103 dann die 101 sozusagen und ab 104 dann die nächsten Hundert Zahlen
mein Problem: es führt das aufsummieren nicht richtig aus, jeder aufsummierte Wert sollte dann ungefähr um die 17.000 liegen, aber die Werte werden dann immer höher und der letzte Wert ist dann 47.580.958(bei den '100' vorherigen Zahlen) und bei den 100 nächsten 46.059.820, also ich glaube es summiert nicht nur die 100 Zahlen sondern viel mehr und ich weiß nicht genau was ich machen soll... Ideen?
Also es geht darum dass ich ein Dokument habe, ein Excell Tabelle mit verschiedenen Werten, nun sollte ich diese Werte in eine Liste speichern, das sind 8037 Werte, und zum beispiel für Wert 101, die 100 vorherigen Werte, den Wert für 101 und die folgenden 100 werte aufsummieren und davon den Mittelwert berechnen.
Hier die Aufgabe:
b.) Die Anzahl der gezählten täglichen Sonnenflecken unterliegt großen Schwankungen.
Berechnen Sie daher zu jedem dezimalen Datum den Mittelwert über die 100 vorangehenden, 100 folgenden und die aktuelle Anzahl der Sonnenflecken. Es reicht
die Mittelung nur für Daten zu machen, welche 100 vorangehende und folgende
Werte haben
Mein Versuch:
da python ja ab 0 anfängt zu Zählen und meine Liste ab Zeile 2 einen Wert hat, ist sozusagen die ersten 100 Zahlen Zeile 02-102, 103 dann die 101 sozusagen und ab 104 dann die nächsten Hundert Zahlen
Code: Alles auswählen
Liste2 = []
f1= open("sunspot_2000.csv", "r+")
with open("sunspot_2000.csv", "r") as f:
for line in f:
str = f1.readline()
Liste = str[21:24]
str = Liste
Liste2.append(str)
Liste2.pop(0)
koListe = list(map(int, Liste2))
#hier habe ich die Liste von tupeln in Zahlen umgewandelt
listSum = 0
listSum1= 0
n = 103
i = 100
while n >= 103 and n<= 7935 :
p = n-i #meine Idee war, dass 103-100 dann 3 ergibt und das -1 ergibt dann den ersten Wert wo es gerechnet werden soll also 2 (was ja dann laut Python dann die 0 ist) und dann noch die 103 -1 um dann bis wert 102 zu rechnen.
for x in range(p-1,n-1):
listSum += koListe[x]
print(listSum)
aktZahl = koListe[n]
print (aktZahl)
k = n + i
for x in range(n+1,k+1):
listSum1 += koListe[x]
print(listSum1)
n += 1
print('Der Mittelwert der Sonnenflecke ist', (listSum+aktZahl+listSum1)/201)