ходу не гуглиться, но не гуглиться вообще никак. Суть такая - есть пандасовский дата-фрейм, который получается чтением Аски файла. В части колонок текст, в части - цифры. Есть колонки, в которых лежит что-то вроде " 5.0", их панда как текст воспринимает. Задача - выкинуть (после некоторых манипуляций) фрейм в csv файл заменив тип всем цифрам на integer, в том числе вида " 5.0".
По идее должно делаться достаточно просто - dataframe.apllymap( lambda x: int(x) if x.Что-тоТипаИзФлоат() else x)
Однако хер там было. Нет такого. И вообще ничего похожего нет для флота. isdigit для " 5.0" вернёт false. При этом int(float(' 5.0')) отлично работает. Т.е. вопрос как по человечески проверить что значение float?
Я конечно накостылил - через функцию, там через try/catch пробую перевести и возвращаю в зависимости от результата значение. Но это дно какое-то.
Строку преобразуй в число допустим. Предварительно убрав лишние пробелы
А не проще сразу тип столбца поменять? Чем проверять 70х6млн значений?
Обсуждают сегодня