2017-07-15 2 views
2

Ich habe eine Liste von IDs, die ich durch,Python - Speichern Sie alle Werte des Objekts in einer Liste/Datenrahmen in jeder Iteration einer Schleife

Allids = [201,202,203,204,205,206,207] 

Jetzt bin Looping, ich durch jede id bin Looping und immer Werte für diese IDs.

In meiner nächsten for-Schleife habe ich eine leere Liste erstellt und alle Werte für jede ID abgerufen.

values = [] 
for j in cu: 
    values.append(j) 
    dff = MyFunction(values) 

Hier MyFunction schafft eine Pandas Datenrahmen für diejenigen beigefügten values Liste. Nachdem dies ausgeführt wurde, speichert es alles in einem einzigen großen Datenrahmen.

Meine Frage ist, wie kann ich jedes id 's Werte speichern, die ich in jede einzelne Liste oder pandas Datenrahmen anstelle von einem großen Datenrahmen bekomme?

+0

Erstellen Sie eine Liste von Datenrahmen? –

+0

@COLDSPEED Das ist vielversprechend. Wird es im Wörterbuchformat sein? –

+0

Nur wenn es sinnvoll ist, ein Wörterbuch zu verwenden und die Reihenfolge nicht wichtig. Sonst füge ich einfach eine Liste von dfs hinzu. –

Antwort

2

Wenn Sie nur Ihre Daten nach ID separieren möchten, können Sie die Daten jeder Iteration an eine Liste mit der Bezeichnung df_list anhängen.

df_list = [] 
for i in Allids: 
    cu.execute('select var1, var2, var2 from tbl where id = 'i'') 
    values = [j for j in cu] 
    df_list.append(MyFunction(values)) 

Ich habe die innere Schleife durch ein Listenverständnis ersetzt. Sobald values gefüllt ist, rufen Sie MyFunction einmal und fügen Sie den zurückgegebenen Datenrahmen an die df_list.

+0

Perfekt, das funktioniert! Jetzt kann ich jedes Element in 'df_list' durchlaufen: Danke! –

+0

@inja Gut zu helfen. :) –

Verwandte Themen