Загрузка CSV с явными типами и датами через read_csv
Содержание курса
pd.read_csv через io.StringIO: конфликт usecols и parse_dates
Что уже дано
Проверяющая система выполняет скрытый start_code, который не создаёт никаких переменных. Все данные вы формируете сами.
Что нужно сделать
Напишите верхнеуровневый код (без функций), который:
- Создаёт CSV-источник в памяти через
io.StringIOсо следующим содержимым:
visit_id,page,duration,visit_date 1,home,30,2024-04-01 2,catalog,120,2024-04-03 3,home,15,2024-04-07 4,checkout,200,2024-04-10
- Загружает данные через
pd.read_csvс тремя параметрами:
usecols=['visit_id', 'duration', 'visit_date']— загрузить только эти три столбца (безpage);dtype={'visit_id': 'int32', 'duration': 'int32'}— задать типы явно;parse_dates=['visit_date']— разобрать столбецvisit_dateкак дату.
- Сохраняет результат в переменную
df. - Создаёт переменную
shape— кортежdf.shape. - Создаёт переменную
cols— список имён столбцов:list(df.columns). - Создаёт переменную
dtypes_dict— словарь{имя_столбца: str(df[имя_столбца].dtype) for имя_столбца in df.columns}.
Проверяющая система читает переменные df, shape, cols и dtypes_dict после выполнения вашего кода.
Ввод и вывод
stdin не используется. Печатать через print в stdout ничего не нужно.
Проверяющая система читает верхнеуровневые переменные df, shape, cols и dtypes_dict после выполнения вашего кода и проверяет:
shapeравен(4, 3);colsсодержит ровно['visit_id', 'duration', 'visit_date'](безpage);dtypes_dict['visit_id']равен'int32';dtypes_dict['duration']равен'int32';dtypes_dict['visit_date']начинается с'datetime64';- столбец
pageвdfотсутствует.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Как проверяется решение
Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
