2017-12-12 3 views
-1

So erstellen Sie einen leeren Pandas Datenrahmen mit einer bestimmten Anzahl von Spalten (zB 50) und füllen seine Zeilen mit Spalten anderer Pandas Datenrahmen mit verschiedenen Spalten (weniger als die Zieldatenrahmen Spalten)Leeren Datenrahmen erstellen und mit Daten unterschiedlicher Länge füllen

Hier ist, was ich getan habe:

ich habe leere Datenrahmen wie folgt erstellt:

L=pd.DataFrame() 

und füllen sie es mit:

L.loc[-1]=df1['A'] 

bekomme ich folgende Fehlermeldung:

ValueError: cannot set a frame with no defined columns 

Ich habe versucht, folgende, um den Datenrahmen zu füllen, aber am Ende war es leer:

L.append(df1['A']) 

das Ergebnis der @Jacob Lösung ist wie folgt, während die maximale Anzahl von df1['A'] Element nur 35 war. Außerdem möchte ich nur df1['A'] in den L-Datenrahmen kopieren, nicht seinen Spaltennamen. Wie kann ich das verhindern?

  3124 3125 3126 3127 3128 3129 3130 3131 \ 
A 602.0 -1474.0 -1474.0 -1474.0 -1474.0 -1474.0 -1474.0 -1474.0 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 
A NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN 

      3132 3134 ...  38  39  40  41  42  45 \ 
A -1255.0 -1474.0 ...  NaN NaN NaN NaN NaN NaN 
A  NaN  NaN ...  NaN NaN NaN NaN NaN NaN 
A  NaN  NaN ...  NaN NaN NaN NaN NaN NaN 
A  NaN  NaN ...  NaN NaN NaN NaN NaN NaN 
A  NaN  NaN ... 127.0 -127.0 143.0 127.0 -143.0 NaN 
A  NaN  NaN ...  NaN NaN NaN NaN NaN 127.0 
A  NaN  NaN ...  NaN NaN NaN NaN NaN NaN 

      46  47  48  49  
A NaN NaN NaN NaN 
A NaN NaN NaN NaN 
A NaN NaN NaN NaN 
A NaN NaN NaN NaN 
A NaN NaN NaN NaN 
A -143.0 NaN NaN NaN 
A NaN 127.0 -127.0 143.0 
[7 rows x 60 columns] 
+1

Haben Sie 'L = L.append (df1 ['A'])' 'versucht? – Acccumulation

+0

Ich bekomme folgenden Fehler 'UnboundLocalError: lokale Variable 'L' vor der Zuweisung referenziert – user3806649

Antwort

1

Ich glaube, Sie

L = pd.DataFrame() 
L = L.append(df1['A'].transpose()) 

Hinweis mögen, dass dies Ihren Index von L als Spaltennamen verwenden, und diese Spalten hinzufügen, wenn sie nicht bereits als Spaltenbeschriftungen in L. sind

+0

Wie Namen Spalten als Index von 1 bis 50? – user3806649

+0

Wenn Sie 'L = L.append (df1 ['A']. Transpose(), ignore_index = True)', werden die Spalten 0 bis 49 benannt. Wenn Sie 1 bis 50 machen wollen, können Sie das tun 'L.rename (Spalten = {i: i + 1 für i in Bereich (50)}, inplace = True)'. –

Verwandte Themen