Entfernen dtype am Ende der numpy-array

Schreibe ich eine Methode erstellt ein array von Daten-Datei. Die Methode sieht folgendermaßen aus:

import numpy
def readDataFile(fileName):
    try:
        with open(fileName, 'r') as inputs:
            data = None
            for line in inputs:
                line = line.strip()
                items = line.split('\t')
                if data == None:
                    data = numpy.array(items[0:len(items)]) 
                else:
                    data = numpy.vstack((data, items[0:len(items)]))
                return numpy.array(data)
    except IOError as ioerr:
        print 'IOError: ', ioerr
        return None

Meine Daten-Datei enthält Zeilen von zahlen, die jeweils voneinander getrennt durch einen Tabulator, e.g:

1 2 3
4 5 6
7 8 9

Und ich erwarten ein array wie folgt:

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

Jedoch enthält das Ergebnis dtype am Ende:

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]], dtype='|S9')

Weil es, ich kann nicht führen Sie einige Operationen auf das Ergebnis, wenn ich z.B. versuchen zu finden, der max-Wert für jede Zeile mit result.max(0) werde ich eine Fehlermeldung:

TypeError: cannot perform reduzieren mit flexibler Typ.

So, kann mir jemand sagen was stimmt mit meinem code und wie man es beheben? Vielen Dank.

InformationsquelleAutor Long Thai | 2012-04-23
Schreibe einen Kommentar