У мене дуже великий набір даних, і я не можу дозволити собі прочитати весь набір даних. Отже, я думаю прочитати лише один його фрагмент для навчання, але я не уявляю, як це зробити. Будь-яка думка буде оцінена.
Відповіді:
Якщо ви хочете прочитати лише перші 999 999 (без заголовків) рядків:
read_csv(..., nrows=999999)
Якщо ви хочете прочитати лише рядки 1 000 000 ... 1 999 999
read_csv(..., skiprows=1000000, nrows=999999)
nrows : int, за замовчуванням Немає Кількість рядків файлу для читання. Корисно для читання фрагментів великих файлів *
skiprows : подібні до списку або цілі числа Номери рядків, які потрібно пропустити (індексується 0), або кількість рядків, які потрібно пропустити (int) на початку файлу
а для великих файлів ви, мабуть, також захочете використовувати chunksize:
chunksize : int, за замовчуванням Немає Повернути об'єкт TextFileReader для ітерації
nstart=,nend=...
. Вам потрібно зробити арифметикуskiprows = nend - nrows
LIMIT nstart, skiprows
:: /
header=n/list
chunksize
це трохи боляче, вам доведеться мати справу з нерівномірними шматками. Також попередньо розподіліть свої масиви / кадри даних з фіксованим розміром, який вам знадобиться, не динамічно виконуйте concat / додавання, коли ви можете цього уникнути.