Ich habe ein [1.008.961 Zeilen x 8 Spalten] Pandas Datenrahmen wie folgt aussehen:"Sandwich" -Werte in einer Pandas-Dataframe-Spalte?
Position Price Side Size time init dt best_pricejump
0 1 3542 1 300 1495087206897454000 True 0.000 NaN
1 2 3541 1 484 1495087206906657000 True 9.203 NaN
2 3 3540 1 423 1495087206914836000 True 8.179 NaN
3 4 3539 1 599 1495087206922854000 True 8.018 NaN
4 5 3539 1 599 1495087206930944000 True 8.018 NaN
und eine Liste mit bestimmten Scheiben Ich bin auf der Suche:
[slice(0, 5, None), slice(9, 35, None), slice(39, 131, None), slice(135, 141, None),...]
Wie kann ich „Sandwich“ der Werte von Spalte Zeit effizient, so dass jedes Mal, wenn Wert meines aufgeschnittenen Datenframes ähnlich dem letzten Wert der Scheibe ist?
würde Obiges Beispiel sein: haben
Position Price Side Size time init dt best_pricejump
0 1 3542 1 300 1495087206930944000 True 0.000 NaN
1 2 3541 1 484 1495087206930944000 True 9.203 NaN
2 3 3540 1 423 1495087206930944000 True 8.179 NaN
3 4 3539 1 599 1495087206930944000 True 8.018 NaN
4 5 3539 1 599 1495087206930944000 True 8.018 NaN
ich eine Lösung, aber es ist schrecklich langsam (es buchstäblich 14 Minuten dauert). Gibt es schnellere Wege?
for slc in list_of_slices:
df["time"][slc] = (df["time"][slc]).iloc[-1]
Faster um einen Faktor 5, dumm für nicht darüber nachzudenken, iat – Hekri