Neu in Pandas Entwicklung. Wie kann ich einen DataFrame mit dem in einer zuvor gesehenen Spalte enthaltenen Wert weiterleiten?Python Pandas - Vorwärts füllen ganze Zeilen mit Wert einer vorherigen Spalte
Autarke Beispiel:
import pandas as pd
import numpy as np
O = [1, np.nan, 5, np.nan]
H = [5, np.nan, 5, np.nan]
L = [1, np.nan, 2, np.nan]
C = [5, np.nan, 2, np.nan]
timestamps = ["2017-07-23 03:13:00", "2017-07-23 03:14:00", "2017-07-23 03:15:00", "2017-07-23 03:16:00"]
dict = {'Open': O, 'High': H, 'Low': L, 'Close': C}
df = pd.DataFrame(index=timestamps, data=dict)
ohlc = df[['Open', 'High', 'Low', 'Close']]
Daraus ergibt sich folgende Datenrahmen:
print(ohlc)
Open High Low Close
2017-07-23 03:13:00 1.0 5.0 1.0 5.0
2017-07-23 03:14:00 NaN NaN NaN NaN
2017-07-23 03:15:00 5.0 5.0 2.0 2.0
2017-07-23 03:16:00 NaN NaN NaN NaN
ich aus dem letzten Datenrahmen zu so etwas wie dies gehen wollen:
Open High Low Close
2017-07-23 03:13:00 1.0 5.0 1.0 5.0
2017-07-23 03:14:00 5.0 5.0 5.0 5.0
2017-07-23 03:15:00 5.0 5.0 2.0 2.0
2017-07-23 03:16:00 2.0 2.0 2.0 2.0
So dass der zuvor angezeigte Wert in "Schließen" vorwärts ganze Zeilen füllt, bis eine neue aufgefüllte Zeile angezeigt wird. Es ist einfach genug, Spalte ‚Schließen‘ zu füllen, wie so:
column2fill = 'Close'
ohlc[column2fill] = ohlc[column2fill].ffill()
print(ohlc)
Open High Low Close
2017-07-23 03:13:00 1.0 5.0 1.0 5.0
2017-07-23 03:14:00 NaN NaN NaN 5.0
2017-07-23 03:15:00 5.0 5.0 2.0 2.0
2017-07-23 03:16:00 NaN NaN NaN 2.0
Aber ist es eine Möglichkeit, über die 03.14.00 und 03.16.00 Zeilen mit dem ‚Schließen‘ Wert dieser Zeilen zu füllen? Und gibt es eine Möglichkeit, dies in einem Schritt mit einer Vorwärtsfüllung zu tun, anstatt zuerst die Spalte "Schließen" zu füllen?