DataFrame effizient befüllen
Verfasst: Dienstag 12. Mai 2020, 14:46
Hallo liebe Gemeinde,
ich möchte ein Pandas Dataframe effizient befüllen und bitte Euch, mich zu beraten, welche der mir
vorschwebenden Wege der bessere ist oder welchen Weg ich einschlagen sollte.
Grundsätzlich habe ich eine Excel-Liste, die ich in einen DataFrame (df1) einlese.
Diese Daten bilden die Grundlage für meine weiteren Berechnungen.
Aus den Daten in df1 berechne ich weitere Werte und möchte das df1 um diese Werte erweitern. Die Werte werden aus den Indexwerten i und i +1 berechnet.
Bisher mache ich das wie folgt:
Beim Einlesen der Excel-Liste in df1 erweitere ich den header der Excel-Liste um die columns, in die ich die berechneten Daten schreiben möchte. Mit einer For-Schleife berechne ich die Daten und schriebe sie in das df1.
Das funktioniert. Ich habe aber gelesen, das For-Schleifen iZm DataFrames ineffizient sein sollen.
Das habe ich probiert:
Ich passe die columns des df1 dem header der Excel-Liste an. Mit einer For-Schleife berechne ich die Daten und schreibe sie in ein df2 und hänge df2 an df1 an. Funktioniert noch nicht. Ich bekomme den Fehler ------ TypeError: cannot unpack non-iterable float object. Meine Fehlersuche ist diesbezüglich noch nicht abgeschlossen. Diese Variante hat auch ein For-Schleife.
Eine andere Lösung wäre, dass ich die columns des df1 dem header der Excel-Liste entnehme.
Mit einer For-Schleife berechne ich die Daten füge sie in eine Series ein. Diese Series füge ich dann an df1 an.
Das habe ich noch nicht umgesetzt.
Welchen Rat könnt Ihr mir geben.
Gibt es noch weitere Möglichkeiten?
ich möchte ein Pandas Dataframe effizient befüllen und bitte Euch, mich zu beraten, welche der mir
vorschwebenden Wege der bessere ist oder welchen Weg ich einschlagen sollte.
Grundsätzlich habe ich eine Excel-Liste, die ich in einen DataFrame (df1) einlese.
Diese Daten bilden die Grundlage für meine weiteren Berechnungen.
Aus den Daten in df1 berechne ich weitere Werte und möchte das df1 um diese Werte erweitern. Die Werte werden aus den Indexwerten i und i +1 berechnet.
Bisher mache ich das wie folgt:
Beim Einlesen der Excel-Liste in df1 erweitere ich den header der Excel-Liste um die columns, in die ich die berechneten Daten schreiben möchte. Mit einer For-Schleife berechne ich die Daten und schriebe sie in das df1.
Das funktioniert. Ich habe aber gelesen, das For-Schleifen iZm DataFrames ineffizient sein sollen.
Das habe ich probiert:
Ich passe die columns des df1 dem header der Excel-Liste an. Mit einer For-Schleife berechne ich die Daten und schreibe sie in ein df2 und hänge df2 an df1 an. Funktioniert noch nicht. Ich bekomme den Fehler ------ TypeError: cannot unpack non-iterable float object. Meine Fehlersuche ist diesbezüglich noch nicht abgeschlossen. Diese Variante hat auch ein For-Schleife.
Eine andere Lösung wäre, dass ich die columns des df1 dem header der Excel-Liste entnehme.
Mit einer For-Schleife berechne ich die Daten füge sie in eine Series ein. Diese Series füge ich dann an df1 an.
Das habe ich noch nicht umgesetzt.
Welchen Rat könnt Ihr mir geben.
Gibt es noch weitere Möglichkeiten?