Выборка столбцов и строк: [], loc и iloc без цепочной индексации
Содержание курса
loc, iloc и безопасное присваивание: выборка и изменение DataFrame
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая:
- Читает из
stdinцелое числоn— количество строк таблицы. - Читает следующие
nстрок; каждая содержит три токена через пробел:название(строка без пробелов),цена(целое число),количество(целое число). Пример строки:Стол 5000 3. - Строит
pd.DataFrameс именемdfиз словаря списков с ключами'name','price','qty'. Индекс — автоматическийRangeIndex. - Шаг A. Выбирает один столбец
'price'черезdf['price']. Выводит строку:col_type=<тип>, где<тип>—type(df['price']).__name__. - Шаг B. Выбирает два столбца
['name', 'qty']черезdf[['name', 'qty']]. Выводит строку:subset_type=<тип> subset_shape=<shape>— тип и shape результата. - Шаг C. Выбирает строку с меткой
1черезdf.loc[1]. Выводит строку:loc1_name=<значение поля name>, то естьdf.loc[1, 'name']. - Шаг D. Выбирает строку с позицией
0черезdf.iloc[0]. Выводит строку:iloc0_price=<значение поля price>, то естьdf.iloc[0, 1]. - Шаг E. Строит булеву маску
mask = df['price'] > threshold, гдеthresholdчитается изstdinкак последняя строка ввода (целое число). Выполняет одним вызовомdf.loc[mask, 'qty'] = 0. Выводит список значений столбца'qty'через пробел.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
n name1 price1 qty1 ... nameN priceN qtyN threshold
Дополнительные ограничения: n >= 2.
Формат вывода
col_type=Series
subset_type=DataFrame subset_shape=(n, 2)
loc1_name=<name>
iloc0_price=<price>
<qty0> <qty1> ... <qtyN-1>
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Проверяется тестами (1)
- Тест 1Ввод
4 Стол 5000 3 Стул 1500 10 Шкаф 12000 2 Диван 25000 1 8000
Ожидаемый выводcol_type=Series subset_type=DataFrame subset_shape=(4, 2) loc1_name=Стул iloc0_price=5000 3 10 0 0
Решение
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
