Получить все типы в одном столбце csv - PullRequest
0 голосов
/ 18 июня 2020

У меня необычный вариант использования. Я пытаюсь проанализировать csv в Python и получить ВСЕ типы данных для каждого столбца, то есть список типов данных в этом столбце (например, «строка», «int», «null». И да, столбцы могут содержат значения NULL. Это очень беспорядочные данные. Я знаю, что легко вывести один тип данных для каждого столбца, но это не то, что я ищу.

Pandas df.dtypes дает только 1 типа для каждого столбца. Кроме того, значения NULL заставляют его идентифицировать столбцы int как объект.

Моя первоначальная идея заключалась в том, чтобы получить все значения из каждого столбца, затем прокрутить эти значения и проверить каждое значение с помощью isinstance . Это уродливое, неэффективное решение, но в моем случае оно работает. Однако pd.read_csv приводит к преобразованию всего в объект из-за смешанных значений и значений NULL, которые, в свою очередь, идентифицируются как строка. А csv.DictReader, похоже, приводит все как строку (я не знаю это, но делаю вывод на основании поведения). Таким образом, даже попытка pandas.api.types.infer_dtype или что-то вроде pandas.api.types.is_float_dtype не помогает, поскольку он все еще идентифицирует все как str ing.

Сейчас я использую регулярное выражение, что еще более ужасно. Я искал в Интернете решение и пробовал все, что мог придумать. Возможно ли это хоть сколько-нибудь принципиально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...