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

Series и DataFrame: создание, index, columns, shape, dtypes

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

Series и DataFrame: создание из двух форматов и чтение shape, dtypes, index, columns

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.

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

Напишите программу, которая:

  1. Читает из stdin целое число n — количество строк таблицы.
  2. Читает следующие n строк; каждая содержит три токена через пробел: название (строка без пробелов), цена (целое число), количество (целое число). Пример строки: Стол 5000 12.
  3. Создаёт pd.Series с именем prices из списка цен (в том порядке, в котором они прочитаны). Индекс — автоматический RangeIndex.
  4. Создаёт pd.DataFrame с именем df из словаря списков с тремя ключами: 'name', 'price', 'qty' — в таком порядке.
  5. Выводит в stdout ровно шесть строк:
  • Строка 1: prices.shape в виде (n,).
  • Строка 2: prices.dtype — строковое представление типа.
  • Строка 3: df.shape в виде (n_rows, n_cols).
  • Строка 4: list(df.columns) — список имён столбцов через стандартный print.
  • Строка 5: list(df.index) — список меток строк.
  • Строка 6: три пары имя_столбца:dtype через пробел, по одной на каждый столбец df в порядке df.dtypes.items().

Для строки 6 используйте формат name:object price:int64 qty:int64.

Ввод и вывод

Программа читает stdin и пишет в stdout.

Формат ввода

n
название1 цена1 количество1
название2 цена2 количество2
...

Дополнительные ограничения: n >= 1.

Формат вывода

(n,)
dtype_series
(n, 3)
['name', 'price', 'qty']
[0, 1, ..., n-1]
name:object price:int64 qty:int64
О данных в ответах

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

Проверяется тестами (1)
  • Тест 1
    Ввод
    3
    Стол 5000 12
    Стул 1500 30
    Шкаф 12000 5
    
    Ожидаемый вывод
    (3,)
    int64
    (3, 3)
    ['name', 'price', 'qty']
    [0, 1, 2]
    name:object price:int64 qty:int64
    
Решение
Как проверяется решение

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

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