866 Stimmen

Erstellen eines leeren Pandas DataFrame und anschließendes Füllen desselben

Ich beginne hier mit der DataFrame-Dokumentation von Pandas: Einführung in Datenstrukturen

Ich möchte den DataFrame iterativ mit Werten in einer Zeitreihe Art der Berechnung füllen. Ich möchte die DataFrame mit Spalten A, B und Zeitstempel Zeilen, alle 0 oder alle NaN zu initialisieren.

Dann füge ich Anfangswerte hinzu und gehe über diese Daten, indem ich die neue Zeile aus der vorherigen Zeile berechne, z. B. row[A][t] = row[A][t-1]+1 oder so.

Ich bin derzeit mit dem Code wie unten, aber ich fühle, es ist Art von hässlich und es muss eine Möglichkeit, dies mit einem DataFrame direkt oder nur eine bessere Möglichkeit im Allgemeinen zu tun sein.

Hinweis: Ich verwende Python 2.7.

import datetime as dt
import pandas as pd
import scipy as s

if __name__ == '__main__':
    base = dt.datetime.today().date()
    dates = [ base - dt.timedelta(days=x) for x in range(0,10) ]
    dates.sort()

    valdict = {}
    symbols = ['A','B', 'C']
    for symb in symbols:
        valdict[symb] = pd.Series( s.zeros( len(dates)), dates )

    for thedate in dates:
        if thedate > dates[0]:
            for symb in valdict:
                valdict[symb][thedate] = 1+valdict[symb][thedate - dt.timedelta(days=1)]

    print valdict

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X