Лабораторная работа №2: Основы Pandas
Цель: Научиться загружать реальные данные, проводить их первичную диагностику, выбирать нужные фрагменты с помощью loc/iloc и фильтровать записи по сложным условиям.
Инструменты:
- Python 3
- Pandas (DataFrame, Series)
Данные: Мы будем работать с набором данных California Housing. Это реальные данные переписи населения, содержащие информацию о ценах на жилье, расположении и характеристиках районов.
Часть 1: Загрузка и первичный анализ (Sanity Check)
Первый шаг любого проекта — превратить сырой файл (CSV, Excel) в DataFrame и понять, с чем мы имеем дело.
Задание 1.1:
- Импортируйте библиотеку
pandas. - Загрузите датасет по ссылке ниже в переменную
df. - Выведите первые 5 строк.
URL: https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.csv
import pandas as pd
url = "[https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.csv](https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.csv)"
# TODO: Загрузите данные
# df = ...
# TODO: Выведите первые 5 строк
# ...Часть 2: Индексация и выборка (Slicing)
Умение точно "вырезать" кусок таблицы — навык хирурга данных. Помните:
.iloc— по номеру (позиции)..loc— по метке (имени).
Задание 2.1:
- Выделите первые 10 строк и первые 3 столбца.
- Сохраните это в переменную
subset_geo.
# TODO: Используйте iloc для выбора первых 10 строк и столбцов с 0 по 2
# subset_geo = ...
# print(subset_geo)Часть 3: Фильтрация и создание признаков
Бизнес часто ставит задачи в духе: "Найди мне все дорогие дома на побережье".
Задание 3.1: Найдите районы, которые соответствуют двум условиям одновременно:
median_house_value> 400000 (Дорогая недвижимость).ocean_proximity== 'NEAR OCEAN' (Рядом с океаном).
Сохраните результат в luxury_ocean_df и выведите количество найденных районов.
# TODO: Создайте маску (помните про скобки и оператор &)
# mask = ...
# TODO: Примените маску к df
# luxury_ocean_df = ...
# print(f"Найдено районов: {len(luxury_ocean_df)}")Часть 4: Сохранение результатов
После очистки и обработки данные часто нужно сохранить для следующего этапа или отчета.
Задание 4.1: Экспорт
Сохраните luxury_ocean_df в файл expensive_ocean_houses.csv.
Важный нюанс сохранения
Укажите index=False, чтобы не сохранять технический индекс Pandas в CSV.
# TODO: Сохраните отфильтрованный датафрейм
# ...
print("Файл сохранен. Проверьте вкладку 'Files' в Colab.")