Вы не можете игнорировать строки, прежде чем прочитаете их.
Вместо этого вы можете фильтровать после чтения данных:
# read file to dataframe
df = pd.read_csv('file.csv')
# apply mask to dataframe
df = df[df['Valid'] == 'Yes']
Если вы столкнулись с проблемами памяти, так как, например, тамочень большое количество строк «Нет», которые дорого читать в памяти, можно разделить на части.Удобный способ создания чанков в режиме без вывода сообщений - dask.dataframe
:
import dask.dataframe as dd
# create lazy reader object
df = dd.read_csv('file.csv')
# define filtering logic
df = df[df['Valid'] == 'Yes']
# apply filtering logic and convert to pandas dataframe
df = df.compute()
. Обратите внимание, что в приведенном выше примере вычислительная работа не выполняется до последней строки, где dask
принимает чанки, фильтрует, а затем агрегирует результаты вобычный pandas
фрейм данных.