2017-06-26 12 views
0

Ich versuche, einen Datenrahmen als Diktat zuerst zu erstellen, bevor Sie df.from_dict verwenden, um alle Daten effizienter in einen Datenrahmen zu konvertieren.Dict Append - mehrere Spalten

Ich habe eine leere dict mit der richtigen Struktur aufgebaut mit:

d =df.head(0).to_dict() 

Es scheint, dann kann ich zu der ‚ersten Reihe‘ hinzufügen, indem Sie Dinge wie dies zu tun: d [ ‚UserID‘] = 1 d [ 'EstProb'] = 1 usw.

die mir die dict Ausgang gibt:

{'EstProb': 1, 'PlayCount': 1, 'PlayDate': 1, 'Timeslot': 1, 'UserID': 1} 

Aber wie ich über diese eine Zeile gehen und fügen Sie dem dict weitere Zeilen hinzu?

Antwort

0

Ok hier ist, wie ich gelöst dies:

ich zum ersten Mal eine leere verschachtelte dict Struktur wie so erstellt:

d={} 
d['UserID']={} 
d['PlayDate']={} 
d['Timeslot']={} 

Und ich initialisiert i =0 zu

ich dann durch eine Schleife ging und meine verschachtelten dict wie so aufgebaut:

for x in range (0, 100): 
    d['UserID'][i] = u[x] 
    d['PlayDate'][i] = p[x] 
    d['Timeslot'][i] = t[x] 
    i+=1 

Schließlich ich die dict in einem Datenrahmen wie so gedreht:

df=df.from_dict(d) 

Die neue Lösung viel schneller (6 Sekunden vs 30 min) als meine bisherigen Methode funktioniert mit dataframe.append