Удалить dtype в конце массива numpy

Я пишу метод для создания массива из файла данных. Метод выглядит так:

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

Мой файл данных содержит строки чисел, каждая из которых отделена друг от друга табуляцией, например:

1 2 3
4 5 6
7 8 9

И я ожидаю получить массив следующим образом:

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

Однако результат содержит dtypeв конце:

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

Из-за этого я не могу выполнять некоторые операции над результатом, например если я попытаюсь найти максимальное значение для каждой строки, используя result.max(0), я получу сообщение об ошибке:

TypeError :не может выполнить сокращение с гибким типом.

Итак, кто-нибудь может сказать мне, что не так с моим кодом и как это исправить? Большое спасибо.

11
задан Tonechas 6 July 2016 в 11:55
поделиться