Есть ли в numpy функция, которая определяет, должны ли строки быть целыми числами или числами с плавающей запятой, и автоматически их преобразует?Например, у меня часто есть коллекция записей, которые анализируются из текстового файла с использованием комбинации str.strip()
и str.split()
.Затем я получаю что-то вроде
List = [['1','a','.3'],
['2','b','-.5']]
, которое затем преобразуется с использованием numpy.rec.fromrecords
:
In [1227]: numpy.rec.fromrecords(List)
Out[1227]:
rec.array([('1', 'a', '.3'), ('2', 'b', '-.5')],
dtype=[('f0', '|S1'), ('f1', '|S1'), ('f2', '|S3')])
В R есть функция с именем type.convert
, для которой векторы / столбцы символастроки передаются, и он определяет тип столбца (т. е. если он представляет собой смесь строк и чисел, он останется символьным вектором).Excel также делает это (основываясь на первых 6 элементах, если я правильно помню) ...
Есть ли такая функция в NumPy / Python?Я знаю, что мог бы написать функцию для проверки того, можно ли преобразовать каждый элемент столбца в целое число и т. Д., Но есть ли что-нибудь встроенное?Я знаю, что во всех примерах рецепт должен явно указывать dtypes, но я бы хотел пропустить этот шаг.Спасибо.