Я пишу код, предназначенный для обнаружения ошибок индекса и отчета, обнаруженных в очень больших наборах данных. Я читаю в наборе данных (csv
), используя pandas
, создавая dataframe
с десятками столбцов. Числовые ошибки просты, если преобразовать интересующий столбец в массив np
и использовать базовое логическое выражение и функцию np.where
. Бам!
Одна из ошибок, которую я ищу, это
неверный тип данных
Например, если столбец должен был представлять собой массив чисел с плавающей запятой, но по неосторожности была введена строка в середине всех поплавков. При преобразовании в массив np
он ТОГДА преобразует все значения в строки и вызывает сбой логических выражений (как и следовало ожидать).
В идеале все нечисловые записи для этого столбца данных должны быть проиндексированы как
неверный тип данных
с записанными значениями. Затем он заменит значение на NaN
, преобразует массив строк в первоначально запланированные значения с плавающей запятой и затем продолжит оценку числовых проверок ошибок.
Это можно было бы просто решить для циклов for с помощью нескольких операторов try / catch. Но быть новичком в питоне. Я надеюсь на более элегантное решение.
Есть предложения?