pandas: устройство, выборка и изменение таблиц

Загрузка CSV с явными типами и датами через read_csv

Содержание курса

0 / 1 баллов

pd.read_csv через файловый объект: usecols, dtype, parse_dates и вывод dtypes

Что уже дано

Скрытый start_code создаёт файл orders.csv в рабочей директории. Содержимое файла:

order_id,customer,amount,status,order_date
101,Алина,1500.0,shipped,2024-02-10
102,Борис,320.5,pending,2024-03-22
103,Вера,870.0,shipped,2024-04-05
104,Глеб,45.0,cancelled,2024-04-18

Файл создаётся до выполнения вашего кода. Никаких заранее созданных переменных нет — вы открываете файл и читаете его сами.

Что нужно сделать

Напишите верхнеуровневый код (без функций), который:

  1. Открывает файл orders.csv через open('orders.csv', encoding='utf-8') и передаёт файловый объект в pd.read_csv вместо строки-пути.
  2. Вызывает pd.read_csv с тремя параметрами:
  • usecols=['order_id', 'amount', 'order_date'] — загрузить только эти три столбца;
  • dtype={'order_id': 'int32', 'amount': 'float64'} — задать типы явно;
  • parse_dates=['order_date'] — разобрать столбец order_date как дату.
  1. Сохраняет результат в переменную df.
  2. Создаёт переменную dtypes_dict — словарь вида {имя_столбца: str(dtype)} для всех столбцов df. Пример построения: {col: str(df[col].dtype) for col in df.columns}.
  3. Создаёт переменную row_count — целое число строк в df (df.shape[0]).

Проверяющая система читает переменные df, dtypes_dict и row_count после выполнения вашего кода.

Ввод и вывод

stdin не используется. Печатать через print в stdout ничего не нужно.

Проверяющая система читает верхнеуровневые переменные df, dtypes_dict и row_count после выполнения вашего кода и проверяет:

  • df.shape равен (4, 3);
  • столбцы df — ровно ['order_id', 'amount', 'order_date'] (без customer и status);
  • dtypes_dict['order_id'] равен 'int32';
  • dtypes_dict['amount'] равен 'float64';
  • dtypes_dict['order_date'] начинается с 'datetime64';
  • row_count равен 4.
О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

РешениеPython · Python 3.12 (data: numpy, pandas, sklearn...)
Как проверяется решение

Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.