Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Основы работы с данными для ИИ

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Фундаментальная информатика и ИТ
  5. DataSc101
  6. Анализ данных в Python
  7. Лабораторная работа №6. Анализ данных в Python

Лабораторная работа №6. Анализ данных в Python

Требуемые условия завершения
Открыто с: вторник, 14 октября 2025, 00:00
Срок сдачи: среда, 22 октября 2025, 00:00

1) Загрузка и базовый осмотр (Pandas)

  • pd.read_csv(path, encoding=...) — загрузка CSV; у вас подходит encoding='latin1'.

  • df.head(n) — просмотр первых n строк для проверки структуры.

  • df.shape — размер таблицы (строки, столбцы).

  • df.info() — типы столбцов, количество ненулевых значений.

  • df.describe() — базовые статистики для числовых колонок 

  • df.sample(n) — случайные n строк

2) Чистка и приведение типов

  • df.drop_duplicates() — убрать дубликаты строк.

  • df.isnull().sum() — посчитать пропуски по столбцам.

  • df.fillna({...}) - заполнить пропуски

  • df.dropna() — удалить пропуски

  • df[column].str.replace(pattern, repl, regex=True) — удалить единицы измерения/символы ('hp', 'km/h', '$', ',', ' cc', ' sec', ' Nm').

  • pd.to_numeric(series, errors='coerce') — перевести строку в число; некорректные значения → NaN.

  • df[column].astype(dtype) — приведение типа (например, 'Seats' → int).

  • df[column].str.extract(regex) — извлечь числа из строк, когда формат сложный (например, из '5,204 cc'взять 5204).

  • df[column].str.lower()/strip() — нормализация категорий (например, топливо).

3) Преобразования датасета

  • df[column] = ... — создать новые столбцы.

  • df[column].apply(func) — применить функцию построчно (например, парсер единиц).

  • df[column].replace() / map() — сопоставление значений (нормализация меток).

4) Группировки и агрегации

  • df.groupby([column])[num_cols].agg(['mean','median','count']) — сводка по бренду/топливу.

  • df[column].value_counts(normalize=True) — частота категорий (абсолютная/относительная в зависимости от параметра normalize).

  • df.sort_values(column, ascending=True) — сортировка по столбцу.

  • df[column].nunique() — число уникальных значений столбца.

  • df[column].unique() — список уникальных значений столбца.

5) Корреляции и статистики

  • df.corr(numeric_only=True) — матрица корреляции численных признаков (Показывает направление и силу связи между численными признаками)

6) Визуализация (Seaborn/Matplotlib)

  • sns.histplot(x, bins, kde=True) — гистограмма распределения.

  • sns.countplot(x|y, order=...) — столбчатая диаграмма частот категорий.

  • sns.boxplot(x=cat, y=num) — “диаграмма размаха” (используется при сравнении распределений, позволяет определить медиану и дисперсию).

  • sns.scatterplot(x=num, y=num, hue=cat) — точечная диаграмма.

  • sns.heatmap(df.corr(...), annot=True) — карта корреляций.

  • plt.figure(figsize=(w,h)) — функция задания размера графика

  • plt.title() — функция задания заголовка графика

  • plt.xlabel(), plt.ylabel() — функции задания названий осей для графика.



Задания

  1. Загрузите CSV с правильной кодировкой и убедитесь, что видите первые строки. Выведите информацию о полях датасета.
    Подсказка: pd.read_csv('...', encoding='latin1'), df.head(), df.info().

  2. Укажите: количество строк/столбцов, список столбцов, типы данных, доли пропусков.
    Подсказка: df.shape, df.columns, df.info(), df.isnull().sum().

Поработайте с полями:

  • HorsePower → убрать ' hp'; Total Speed → убрать ' km/h';
  • Performance(0 - 100 )KM/H → убрать ' sec'
  • Cars Prices → убрать '$', ',', пробелы;
  • CC/Battery Capacity → убрать ',' и ' cc' (Замечание: в датасете присутствую электрокары, объем двигателя которых измеряется в киловатт-часах. В рамках данной лабораторной дополнительных действий в их отношении принимать не надо, функция pd.to_numeric вернет NaN при попытке парсинга. Пока что от электрокаров приходится избавляться).
  • Torque → убрать ' Nm';
  • Seats → привести к числу.

Подсказка: str.replace(..., regex=True)

  1. Приведите к float/int поля из списка выше. Подсказка: pd.to_numeric(..., errors='coerce').

  2. Удалите дубликаты. Подсказка: df.drop_duplicates(inplace=True);

  3. Найдите min/max/mean/median для числовых столбцов;

  4. Заполните пропуски в числовых признаках медианами. Подсказка: df.fillna({...});

  5. Заполните пропуски в строковых (категориальных) признаках значением “Unknown”;

  6. Найдите самую дорогую модель, самую быструю и самую мощную;

  7. Постройте гистограммы для Cars Prices, HorsePower, Total Speed. Сделайте выводы о средней цене, мощности и скорости машин.

  8. Постройте круговую диаграмму топ-10 брендов по числу моделей.  Подсказка: brand_counts = df['Company Names'].value_counts()​

  9. Для полученных топ-10 брендов постройте диаграммы размаха по полям Cars Prices, HorsePower, Total Speed. Сделайте выводы о медианных значениях величин, а также о дисперсии (отклонении от среднего). 

  10. Постройте матрицу корреляций и heatmap. Отметьте 3 самые сильные связи с ценой. Подсказка: df.corr(numeric_only=True), sns.heatmap(...).

Замечание: Все выводы оформляются в виде текстовой ячейки непосредственно после ячейки с соответствующим кодом.
  • Cars Datasets 2025.csv Cars Datasets 2025.csv
    14 октября 2025, 23:30
◄ Лабораторная работа 5. Анализ данных в Python
Анализ данных IMDB с лекции ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

          • Probability Theory and Mathematical Statistics

          • Научные Вычислительные Пакеты

          • DataSc101

            • Общее

            • Основы работы с Git и GitHub

            • Работа с Яндекс. Даталенс

            • Анализ данных в Python

              • ФайлЛекция 4. Основы работы с данными в Python

              • ЗаданиеЛабораторная работа 5. Анализ данных в Python

              • ЗаданиеЛабораторная работа №6. Анализ данных в Python

              • ГиперссылкаАнализ данных IMDB с лекции

              • ФайлЛекция 5. Этические аспекты ИИ. Обзор парсинга и с...

              • ЗаданиеИндивидуальное задание 1. Создание датасета с помо...

              • ФайлЛекция 6. Работа с данными через API

              • ЗаданиеЛабораторная работа 7. Создание датасета с помощью...

              • ЗаданиеЛабораторная работа 8. Подготовка выборок для обуч...

              • ТестТест #1 "Git и Github"

              • ТестТест 2 "Pandas и Numpy"

              • ФайлЛекция 7. Обработка текстовых данных

              • ЗаданиеЛабораторная работа 9. NLP

              • ЗаданиеЛабораторная работа 10

              • ФайлЛекция 10

              • ЗаданиеЛабораторная работа 11. Обработка изображений

            • Тема 4

            • Тема 5

            • Тема 6

            • Тема 7

            • Тема 8

          • NLP (7 семестр)

          • Compiler Development

          • CMVSM

          • АЗПК

          • Frontend

          • ТеорЯП

          • Ruby Eng

          • EngCA&OS

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • Информатика-Осень-ПМИ-2

        • Информатика-осень-ПМИ-1

        • ИММвс

        • ФИиТ eng 2025

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ -2025

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Вы используете гостевой доступ (Вход)
DataSc101
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика