Pandas loc: создать столбец и присвоить значения по условию
Векторное выражение вычисляет значение сразу для всего столбца. Для условного присваивания используйте один вызов loc с маской строк и именем изменяемого столбца. Это делает выборку и запись явными.
В упражнении нужно прочитать каталог из stdin, построить DataFrame и вывести результат в указанном порядке. Отдельно проверьте значение на границе категории: равенство порогу должно попасть в правильную ветку.
Проверьте решение без регистрации. Объяснения и последовательная практика — в курсе «NumPy и pandas: практический тренажёр».
Каталог техники: векторный столбец, loc-категоризация и итоговый вывод
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая:
- Читает из
stdinцелое числоn— количество позиций каталога. - Читает следующие
nстрок; каждая содержит три токена через пробел:название(строка без пробелов),цена(целое число),количество(целое число). Пример строки:Принтер 4500 3. - Создаёт
pd.DataFrameс именемdfиз словаря списков с ключами'name','price','qty'. - Создаёт новый столбец
'total'как векторное выражениеdf['price'] * df['qty']. - Создаёт новый столбец
'category'через два вызоваdf.loc:
df.loc[df['total'] >= 10000, 'category'] = 'high'df.loc[df['total'] < 10000, 'category'] = 'low'
- Выводит в
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
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Создание и изменение столбцов: векторные выражения, loc и выравнивание по индексу — задача по NumPy и pandas
- pandas Series и индекс: почему при присваивании появляется NaN
- pandas loc: обновление цен и пересчёт стоимости
- pandas Series из словаря: index, shape и dtype
- pandas DataFrame из списка словарей: пример и задача
- Загрузка CSV с явными типами и датами через readcsv — задача по NumPy и pandas
