
Bin noch recht neu in der Python Welt, und verzweifle gerade an folgender Aufgabe.
Möchte mir gerne die Differenz von Werten in einer Spalte berechnen lassen.
Wenn diese "Soll-Differenz" im Beispiel genannt "neutral_loss" gefunden wurde, sollen beide Zeilen mit vollständigem Inhalt angezeigt werden.
Wie ihr im "Output" sehen könnt, funktioniert das, abgesehen von ein paar mir unklaren Fehlern auch halbwegs OK.
Warum ich aber um eure Hilfe bitte, ist folgendes:
Es soll jeder Spalteneintrag gegen jeden Spalteneintrag verglichen werden.
Hätte das mit "line1 += 1", aber ich glaube ich habe die falsche Position im Code gewählt.
Es funktioniert auch folgendes nicht: len(list) - > die Idee wäre dabei, die Gesamtanzahl der Spalteneinträge damit berechnen zu lassen.
Vielen Dank schon mal

Code:
import numpy as np
list = ([10,20,30,40,50],[12,13,22,32,42])
a = np.array(list)
row_1 = 0
line_1 = 0
line_2 = 0
neutral_loss = 20
deviation = 0.1
lower_bound = float(neutral_loss - deviation)
upper_bound = float(neutral_loss + deviation)
j = 1
k = 1
while k < 2:
while j < len(list):
b = float(a[row_1, line_1])
c = float(a[row_1, line_2])
#print(b)
#print(c)
if abs(b - c) >= lower_bound and abs(b - c) <= upper_bound:
print(a[row_1, :])
print(a[row_1+1, :])
line_2 = line_2 + 1
else:
print("No result!")
line_2 = line_2 + 1
j += 1
#line_1 += 1
k +=1
Output:
Traceback (most recent call last):
File "C:/.../PycharmProjects/neutral_loss/neutral_loss.py", line 16, in <module>
c = float(a[row_1, line_2])
IndexError: index 5 is out of bounds for axis 1 with size 5
No result!
No result!
[10 20 30 40 50]
[12 13 22 32 42]
No result!
No result!
Process finished with exit code 1