2016-04-02 3 views
1

Ich bin wirklich neu in Keras-Bibliothek und auch Python. Ich versuche, eine Excel-Datei mit Pandas zu importieren und es in eine numpy.ndarray mit as_matrix() Funktion von Pandas konvertieren. Aber es scheint meine Datei falsch zu lesen. Wie ich einen 90x1049 Datensatz in Excel-Datei habe. Aber wenn ich versuche, es in ein numpliges Array zu konvertieren, liest es meine Daten als 89x1049. Ich verwende den folgenden Code, der nicht funktioniert:Wie konvertiert man eine Excel-Datei Daten in numpy Array mit Pandas?

training_data_x = pd.read_excel("/home/workstation/ANN/new_input.xlsx") 
X_train = training_data_x.as_matrix() 
+0

Ich vermute, Ihre Excel-Datei hat keine Kopfzeile als erste Zeile. Könnten Sie ein Beispiel für den resultierenden 'Pandas.DataFrame' hinzufügen? –

Antwort

1

Wahrscheinlich etwas passiert ist, dass Ihre Excel-Datei keine Kopfzeile hat und so pandas.read_excel verbraucht Ihre erste Datenreihe als solche.

ich versuchte, eine XLSX-

1 2 3 
2 3 4 
3 4 5 
4 5 6 
5 6 7 
6 7 8 
7 8 9 
8 9 10 
9 10 11 
10 11 12 

Lese enthält schaffen, die

In [3]: df = pandas.read_excel('test.xlsx') 

In [4]: df 
Out[4]: 
    1 2 3 
0 2 3 4 
1 3 4 5 
2 4 5 6 
3 5 6 7 
4 6 7 8 
5 7 8 9 
6 8 9 10 
7 9 10 11 
8 10 11 12 

Wie in

resultierten kann, wobei die erste Datenreihe verwendet wurde, für die Spalten als Markierungen zu erkennen.

Um zu vermeiden, dass die erste Datenzeile als Header verbraucht wird, übergeben Sie headers=None an read_excel. Interessanterweise ist die documentation nicht erwähnt, diese Nutzung:

Header: int, Liste der ints, default 0

Row (0-indiziert) für die Spaltenbeschriftungen des analysierten Datenrahmen zu verwenden. Wenn eine Liste von ganzen Zahlen werden diese Zeilenpositionen übergeben wird kombiniert in einem Multiindex

0

Wenn Sie keinen Header haben, versuchen Sie Folgendes:

training_data = pd.read_excel("/home/workstation/ANN/new_input.xlsx", header=None) 

X_train = training_data_x.as_matrix() 

Siehe auch Antworten von einem previous question.