2017-12-22 6 views
1
In [6]: df.a.as_matrix() 
Out[6]: array([list([1, 2]), list([3, 4])], dtype=object) 

In [7]: df = pd.DataFrame({'a':[[1,2], [3, 4]]}) 

In [8]: l = df.a.as_matrix() 

In [9]: type(l) 
Out[9]: numpy.ndarray 

In [10]: l 
Out[10]: array([list([1, 2]), list([3, 4])], dtype=object) 

Ich kannte diese Funktion bereits. Aber was mich beunruhigt, ist, dass ich, nachdem ich diese Spalte in np-Array konvertiert habe, konnte ich nicht normales Umformen oder andere Form-Funktion verwenden. Es scheint, dass der Array-Typ nicht int oder float ist, aber wie kann ich seinen Typ zuweisen, so dass ich dieses numpige Array umformen kann?Pandas konvertiert Spalte (Serie) zu numply Array

Antwort

0

Erste zu verschachtelten Listen konvertieren und dann zu array:

print (df.a.tolist()) 
[[1, 2], [3, 4]] 

arr = np.array(df.a.tolist()) 
print (arr) 
[[1 2] 
[3 4]] 

Wenn 1d Array abflachen wollen:

a2 = np.concatenate(df.a) 
print (a2) 
[1 2 3 4]