Pandas loc: создать столбец и присвоить значения по условию

Векторное выражение вычисляет значение сразу для всего столбца. Для условного присваивания используйте один вызов loc с маской строк и именем изменяемого столбца. Это делает выборку и запись явными.

В упражнении нужно прочитать каталог из stdin, построить DataFrame и вывести результат в указанном порядке. Отдельно проверьте значение на границе категории: равенство порогу должно попасть в правильную ветку.

Проверьте решение без регистрации. Объяснения и последовательная практика — в курсе «NumPy и pandas: практический тренажёр».

Каталог техники: векторный столбец, loc-категоризация и итоговый вывод

Что уже дано

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

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

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

  1. Читает из stdin целое число n — количество позиций каталога.
  2. Читает следующие n строк; каждая содержит три токена через пробел: название (строка без пробелов), цена (целое число), количество (целое число). Пример строки: Принтер 4500 3.
  3. Создаёт pd.DataFrame с именем df из словаря списков с ключами 'name', 'price', 'qty'.
  4. Создаёт новый столбец 'total' как векторное выражение df['price'] * df['qty'].
  5. Создаёт новый столбец 'category' через два вызова df.loc:
  • df.loc[df['total'] >= 10000, 'category'] = 'high'
  • df.loc[df['total'] < 10000, 'category'] = 'low'
  1. Выводит в stdout ровно n строк. Каждая строка: <name> <total> <category> — три токена через пробел.

Ввод и вывод

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

Формат ввода

n
name_0 price_0 qty_0
name_1 price_1 qty_1
...
  • Первая строка: целое n (2 ≤ n ≤ 8).
  • Следующие n строк: три токена — строка, целое, целое.

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

n строк вида <name> <total> <category>, где total — целое число.

Пример

Ввод
4
Принтер 4500 3
Сканер 3600 3
Роутер 1200 3
Вебкамера 900 3
Вывод
Принтер 13500 high
Сканер 10800 high
Роутер 3600 low
Вебкамера 2700 low
РешениеPython

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

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

Связанные задачи