Задача курса

pandas readcsv: usecols, dtype и parsedates в задаче

Курс «NumPy и pandas: практический тренажёр» · урок «Загрузка CSV с явными типами и датами через read_csv»

Отработайте настройки импорта CSV, которые помогают избежать случайных типов данных на входе анализа.

Условие

pd.read_csv с usecols, dtype и parse_dates: загрузка и проверка dtypes

Что уже дано

Проверяющая система выполняет скрытый start_code, который создаёт файл employees.csv в рабочей директории. Содержимое файла:

emp_id,name,salary,department,hired_on
1,Алина,75000.0,Разработка,2021-03-15
2,Борис,92000.0,Аналитика,2019-11-01
3,Вера,64000.0,Разработка,2022-06-30
4,Глеб,110000.0,Управление,2018-04-12
5,Дина,81000.0,Аналитика,2020-09-07

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

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

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

  1. Загружает файл employees.csv через pd.read_csv с тремя параметрами:
  • usecols=['emp_id', 'salary', 'hired_on'] — загрузить только эти три столбца;
  • dtype={'emp_id': 'int32', 'salary': 'float64'} — задать типы явно;
  • parse_dates=['hired_on'] — разобрать столбец hired_on как дату.
  1. Сохраняет результат в переменную df.
  2. Создаёт переменную col_names — список имён столбцов: list(df.columns).
  3. Создаёт переменную emp_id_dtype — строковое представление dtype столбца emp_id: str(df['emp_id'].dtype).
  4. Создаёт переменную hired_on_kind — первый символ dtype столбца hired_on: df['hired_on'].dtype.kind. Для datetime64[ns] это 'M'.

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

Ввод и вывод

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

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

  • df.shape равен (5, 3);
  • col_names содержит ровно ['emp_id', 'salary', 'hired_on'];
  • emp_id_dtype равен 'int32';
  • hired_on_kind равен 'M' (datetime);
  • столбец name и столбец department в df отсутствуют.

Попробуйте решить

РешениеPython
Без регистрации · результат не сохраняется