2017-02-09 3 views
0

Ich habe ein Stück Code, den ich erhielt, die nur mit Pandas Datenrahmen als Eingabe funktioniert. Ich habe derzeit eine ziemlich große Anzahl von Arrays. Ich muss das in einen Pandas Datenrahmen umwandeln.Python konvertieren große numpy Array zu Pandas Datenrahmen

Der Datenrahmen besteht aus 288 Zeilen (289 zählt die Spaltennamen) und 1801 Spalten. Ich habe ein Array der Größe 1801, das alle Spaltennamen im Dataframe enthält. Dann habe ich ein Array von Größe (288), das die erste Spalte füllen wird. Dann habe ich ein Array von Form (1800, 288), das die Spalten 2-1801 füllt. Gibt es eine einfache Möglichkeit, dies in einen Datenrahmen zu verwandeln, ohne alle 1801-Spalten einzeln zu definieren?

Ich weiß, ich könnte Spalten wie column2 = Array [0,:], column3 = Array [1 ,:] definieren, aber das wird viel Arbeit für 1801 Spalten.

Antwort

4

Sie können eine numpy Array direkt an den Datenrahmen Konstruktor übergeben:

In [11]: a = np.random.rand(3, 5) 

In [12]: a 
Out[12]: 
array([[ 0.46154984, 0.08813473, 0.57746049, 0.42924157, 0.34689139], 
     [ 0.29731858, 0.83300176, 0.15884604, 0.44753895, 0.56840054], 
     [ 0.02479636, 0.76544594, 0.24388046, 0.06679485, 0.94890838]]) 

In [13]: pd.DataFrame(a) 
Out[13]: 
      0   1   2   3   4 
0 0.461550 0.088135 0.577460 0.429242 0.346891 
1 0.297319 0.833002 0.158846 0.447539 0.568401 
2 0.024796 0.765446 0.243880 0.066795 0.948908 

In [14]: pd.DataFrame(a.T) 
Out[14]: 
      0   1   2 
0 0.461550 0.297319 0.024796 
1 0.088135 0.833002 0.765446 
2 0.577460 0.158846 0.243880 
3 0.429242 0.447539 0.066795 
4 0.346891 0.568401 0.948908 
Verwandte Themen