3
Ich habe eine Pandas Datenrahmen mit Spalten und Zeilen wie folgt aus:Pandas Datenrahmen, jede Zelle in Liste - mehr Python-Weg?
a b c d
a 40 15 25 35
b 10 25 35 45
c 20 35 45 55
d 40 45 55 65
Für alle Zahlen> 30 I eine Ausgabe wie folgt benötigt:
a, a, 40
a, d, 40
b, c, 35
b, d, 45
und so weiter.
Derzeit leite ich eine Schleife wie folgt aus:
for i in df.columns:
for j in df.index:
if df[i][j] > 30:
a.append(i+","+j+","+str(df[i][j])")
Dies funktioniert, aber sehr langsam. Gibt es einen mehr pythischen Weg, dies zu tun?
Danke!
Nice one. Ich dachte nicht an 'df.stack()' zuerst – MMF
@MMF - Danke. – jezrael
Vielen Dank! Die zweite Lösung funktioniert einwandfrei, mein Dataframe ist ungefähr 1 GB, und die erste Lösung verwendet zu viel RAM :) – hoelzi