machine-learningЛабораторная работаPython

Лабораторная работа №2: Основы Pandas

👀 Загрузка...

Цель: Научиться загружать реальные данные, проводить их первичную диагностику, выбирать нужные фрагменты с помощью loc/iloc и фильтровать записи по сложным условиям.

Инструменты:

  • Python 3
  • Pandas (DataFrame, Series)

Данные: Мы будем работать с набором данных California Housing. Это реальные данные переписи населения, содержащие информацию о ценах на жилье, расположении и характеристиках районов.


Часть 1: Загрузка и первичный анализ (Sanity Check)

Первый шаг любого проекта — превратить сырой файл (CSV, Excel) в DataFrame и понять, с чем мы имеем дело.

Задание 1.1:

  1. Импортируйте библиотеку pandas.
  2. Загрузите датасет по ссылке ниже в переменную df.
  3. Выведите первые 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:

  1. Выделите первые 10 строк и первые 3 столбца.
  2. Сохраните это в переменную subset_geo.
# TODO: Используйте iloc для выбора первых 10 строк и столбцов с 0 по 2
# subset_geo = ...
 
# print(subset_geo)

Часть 3: Фильтрация и создание признаков

Бизнес часто ставит задачи в духе: "Найди мне все дорогие дома на побережье".

Задание 3.1: Найдите районы, которые соответствуют двум условиям одновременно:

  1. median_house_value > 400000 (Дорогая недвижимость).
  2. 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.")

🧠 Проверка знаний

Какой метод Pandas используется для выборки данных строго по их числовой позиции (номеру строки и столбца)?

Почему при сохранении DataFrame в CSV-файл рекомендуется использовать параметр index=False?