Выборка столбцов и строк: [], loc и iloc без цепочной индексации
Содержание курса
iloc с нестандартным индексом и выборка столбцов: разница между меткой и позицией
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая:
- Читает из
stdinцелое числоn— количество строк таблицы. - Читает следующие
nстрок; каждая содержит три токена через пробел:город(строка без пробелов),температура(вещественное число),влажность(целое число). Пример строки:Москва 18.5 55. - Строит
pd.DataFrameс именемdfиз словаря списков с ключами'city','temp','humidity'. В качестве индекса устанавливаетpd.RangeIndex(start=10, stop=10 + n, step=1)— метки строк будут10, 11, ..., 10+n-1, а не0, 1, .... - Шаг A. Выбирает столбец
'city'черезdf['city']. Выводит строку:col_shape=<shape> col_type=<тип>, где<тип>—type(df['city']).__name__. - Шаг B. Выбирает два столбца
['temp', 'humidity']черезdf[['temp', 'humidity']]. Выводит строку:subset_shape=<shape> subset_type=<тип>, где<тип>—type(...).__name__. - Шаг C. Получает первую строку по позиции через
df.iloc[0]и выводит строку:iloc0_city=<значение поля city>. - Шаг D. Получает последнюю строку по позиции через
df.iloc[-1]и выводит строку:ilocN_humidity=<значение поля humidity>(целое число). - Шаг E. Получает ячейку по позиции строки
1и позиции столбца1черезdf.iloc[1, 1]. Выводит строку:cell=<значение>(вещественное число). - Шаг F. Пытается обратиться к строке с меткой
10черезdf.loc[10]и выводит строку:loc10_city=<значение поля city>. Затем пытается обратиться к той же первой строке черезdf.iloc[0]и выводит строку:iloc0_city_again=<значение поля city>. Убеждается, что оба значения совпадают.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
n city1 temp1 humidity1 ... cityN tempN humidityN
Дополнительные ограничения: n >= 2.
Формат вывода
col_shape=(<n>,) col_type=Series
subset_shape=(<n>, 2) subset_type=DataFrame
iloc0_city=<city>
ilocN_humidity=<humidity>
cell=<temp>
loc10_city=<city>
iloc0_city_again=<city>
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Проверяется тестами (1)
- Тест 1Ввод
4 Москва 18.5 55 Сочи 22.1 60 Казань 15.0 80 Уфа 9.8 70
Ожидаемый выводcol_shape=(4,) col_type=Series subset_shape=(4, 2) subset_type=DataFrame iloc0_city=Москва ilocN_humidity=70 cell=22.1 loc10_city=Москва iloc0_city_again=Москва
Решение
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
