2017-08-30 4 views
2

Ich habe eine Liste von Liste, die ich es als Zeile machen möchte. Am nächsten kam ich mit dieser . Allerdings konnte ich meine Antwort nicht bekommen.Konvertieren eines 2D-Nummernfelds in Datenframe-Zeilen

Zum Beispiel können sagen, dass ich eine testarray von Werten haben,

([[ 26.85406494], 
    [ 27.85406494], 
    [ 28.85406494], 
    [ 29.85406494], 
    [ 30.85406494], 
    [ 31.85406494], 
    [ 32.85406494], 
    [ 33.85406494], 
    [ 34.85406494], 
    [ 35.85406494], 
    [ 36.85406494], 
    [ 37.85406494], 
    [ 38.85406494], 
    [ 39.85406494], 
    [ 40.85406494], 
    [ 41.85406494]]) 

ich so wie als pandas Dataframe Reihe benötigen,

Row_value 
0 26.85406494 
1 27.85406494 
2 29.85406494 
... 

Ich habe versucht, die folgenden,

df = pd.DataFrame({'Row_value':testarray}) 

Ich bekomme einen Fehler,

ValueError: If using all scalar values, you must pass an index

Wie kann ich diese Werte mit einem Index übergeben?

Antwort

2

Verwenden Dataframe Konstruktor nur mit Parameterspalten:

df = pd.DataFrame(a, columns=['a']) 
print (df) 
      a 
0 26.854065 
1 27.854065 
2 28.854065 
3 29.854065 
4 30.854065 
5 31.854065 
6 32.854065 
7 33.854065 
8 34.854065 
9 35.854065 
10 36.854065 
11 37.854065 
12 38.854065 
13 39.854065 
14 40.854065 
15 41.854065 
+2

netter Weg mit Spalte! –

2

Versuchen ein .reshape(-1,):

df = pd.DataFrame({'Row_value':testarray.reshape(-1,)}) 
df 

    Row_value 
0 26.854065 
1 27.854065 
2 28.854065 
3 29.854065 
4 30.854065 
5 31.854065 
6 32.854065 
7 33.854065 
8 34.854065 
9 35.854065 
10 36.854065 
11 37.854065 
12 38.854065 
13 39.854065 
14 40.854065 
15 41.854065 

Es sieht aus wie Ihre testarray ein 2D-Array mit 1 Spalte ist. Konvertieren Sie es in ein 1D-Array.


Die Alternative ist nicht ein Wörterbuch passieren, sondern testarray können wie angeboten passieren, wie Antwort in jezrael ist.

+0

Danke, ich sehe jetzt, wenn ich die "Umgestaltung" habe, muss ich mich nicht mit der Indizierung befassen. –

+1

Ich stimme zu, ich mag das Array übergeben wie mit Spalte :) –

+0

@ i.n.n.m Hmm, yeah. Es ist sauber. –