Загрузка CSV с явными типами и датами через read_csv
Содержание курса
Выбор нужных столбцов через usecols
Когда CSV-файл содержит десятки столбцов, а нужны только три — нет смысла загружать всё. Параметр usecols позволяет указать именно те столбцы, которые должны попасть в DataFrame.
Передавать можно список имён:
import pandas as pd
df = pd.read_csv('data/orders.csv', usecols=['id', 'date', 'amount'])
print(df.columns.tolist())
# ['id', 'date', 'amount']
Если имена столбцов в файле заранее неизвестны или нужно обратиться к ним по позиции, usecols принимает и список целых чисел:
# Взять первый, второй и третий столбцы (0-based)
df = pd.read_csv('data/orders.csv', usecols=[0, 1, 2])
Оба варианта дают одинаковый результат, если позиции соответствуют тем же столбцам.
Один момент, который сбивает с толку: порядок столбцов в результирующем DataFrame определяется не списком usecols, а порядком в самом файле. То есть если написать usecols=['amount', 'id', 'date'], в DataFrame они всё равно окажутся в том порядке, в котором идут в CSV — id, date, amount.
Практический смысл usecols не только в удобстве, но и в экономии памяти: pandas не читает и не хранит данные из пропущенных столбцов вообще. Для больших файлов с широкими таблицами это ощутимо.
