2016-05-29 9 views
1

Gibt es eine Möglichkeit, eine Pandas-Serie zu konvertieren, bei der jede Zeile ein Array in ein zweidimensionales Array enthält?Wie konvertiert man eine Reihe von Arrays in ein zweidimensionales Array?

Die Serie sieht aus wie die unten folgenden, wenn Sie es in Python anzuzeigen:

[array([ 58., -1., -1., -1., -1.]) 
array([ 77., 95., -1., -1., -1.])] 

Ich möchte eine numpy Matrix erhalten, die wie folgt aussieht:

[[ 58., -1., -1., -1., -1.] 
[ 77., 95., -1., -1., -1.]] 

Gibt es eine einfache Möglichkeit, um dies zu tun? Jede Hilfe wird geschätzt!

Antwort

3
import pandas as pd 
import numpy as np 

s = pd.Series([np.array([ 58., -1., -1., -1., -1.]), 
       np.array([ 77., 95., -1., -1., -1.])])  

rslt = np.array(s.tolist()) 


rslt 
Out[16]: 
array([[ 58., -1., -1., -1., -1.], 
     [ 77., 95., -1., -1., -1.]]) 
1
l = [pd.Series([np.array([ 77., 95., -1., -1., -1.]),np.array([ 58., -1., -1., -1., -1.])])] 
+0

Was pd.array ist? – ayhan

+0

Ich habe den Code korrigiert –

1

If:

s = pd.Series([np.array([ 58., -1., -1., -1., -1.]), 
       np.array([ 77., 95., -1., -1., -1.])]) 

Dann

s.apply(pd.Series).values 
Verwandte Themen