Чтение CSV в Python Pandas и обработка плохих значений - PullRequest
1 голос
/ 29 марта 2012

Я использую панды для чтения файла CSV. Данные являются числами, но хранятся в файле CSV в виде текста. Некоторые значения не являются числовыми, если они плохие или отсутствуют. Как отфильтровать эти значения и преобразовать оставшиеся данные в целые числа.

Я предполагаю, что есть лучший / более быстрый способ, чем перебирать все значения и использовать isdigit() для проверки их числовости.

Есть ли у панды или numpy способ просто распознать плохие ценности в читателе? Если нет, то какой самый простой способ сделать это? Нужно ли указывать dtypes для этой работы?

Ответы [ 3 ]

3 голосов
/ 29 марта 2012

Вы можете передать пользовательский список значений, которые будут считаться пропущенными, используя pandas.read_csv.Также вы можете передавать функции в аргумент converters.

3 голосов
/ 30 марта 2012

pandas.read_csv имеет параметр na_values:

na_values : list-like, default None
    List of additional strings to recognize as NA/NaN

, где вы можете определить эти неверные значения.

1 голос
/ 29 марта 2012

NumPy предоставляет функцию genfromtxt() специально для этой цели. Первое предложение из связанной документации:

Загрузка данных из текстового файла с пропущенными значениями, обработанными как указано.

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