Порядок операций при загрузке данных в pandas read_csv - PullRequest
0 голосов
/ 05 мая 2020

Я получил ошибку dtype в строке, которую следовало исключить параметром skiprows. Итак, правильно ли, что проверка / приведение типа данных происходит до пропуска строк? Есть ли способ обойти ошибки в таких пропущенных строках?

Аналогично, когда применяется converters? Была бы полезна блок-схема такой операции, зависящей от порядка.

Вот пример:

from io import StringIO
data = StringIO("i,a,b\ngood,1,2\nbad,3,a"), 
pd.read_csv(data, index_col='i',skiprows=lambda index: 'bad' == index, dtype={'b':float})

Вышеупомянутые выбросы

ValueError: could not convert string to float: 'a'

Без пропуска данных должны быть:

    a, b
--------
good 1, 2
bad  3, a

После пропуска я ожидал

    a, b
---------
good 1, 2

Обновление: Кажется, также связано с этой ошибкой о dtype / index_col not синхронно c.

...