РефератПрограммированиеГод: 2025МУИВ: Московский университет им. С.Ю. Витте
👁 16💼 0

Готовая практика: Анализ числовых наборов в Python

Загружена: 18.02.2026 09:26

Анализ генерации и обработки одномерного числового набора в Python. Раскрыты этапы получения 1000 случайных целых чисел, их очистки, расчёта статистик (min, max, сумма, повторы, std) и построения графиков. Практическая ценность — готовые скрипты и таблицы для отработки навыков программирования и визуализации.

Содержание

Введение	3
1	выбор платформы и данных	5
1.1	Выбор платформы для разработки и необходимых библиотек	5
1.1.1	Обоснование выбора платформы интерпретатора языка Python	6
1.1.2	Выбор библиотек для анализа данных	6
1.2	Получение данных	8
1.2.1	Предварительный анализ данных	8
1.2.2 Выбор формата хранения данных	10
1.2.3 Очистка данных от цифрового мусора	11
1.3 Выводы по разделу	13
2	количественный анализ данных	17
2.1	Получение данных Dataset (данные)	17
2.2	Рассчет стандартных числовых характеристик для набора данных Series	18
2.3	Выводы по разделу	20
3	визуализация результатов количествнного анализа данных	24
3.1	Визуализация наборов данных с помощью стандартных библиотек по заданным критериям	24
2.4 Формирование Dataframe из данных Series и добавление столбцов	26
2.5 Визуализация данных полученные в результате промежуточного анализа	27
3.2	Выводы по разделу	29
Список использованной литературы	33

Введение

Учебная практика (ознакомительная практика) относится к разделу Б2.О.01 блока «Практики» базового учебного плана основной профессиональной образовательной программы по направлению подготовки 09.03.03 «Прикладная информатика» и является видом учебной деятельности, направленной на ознакомление, формирование, закрепление, развитие практических навыков и компетенции в процессе выполнения определенных видов работ, связанных с будущей профессиональной деятельностью. Учебная практика проходила в Московском университете им. С.Ю. Витте (далее - Университете) на кафедре информационных систем
Цель практики
приобретение первичных профессиональных навыков, практического опыта, закрепление, систематизация и расширение теоретических знаний по дисциплинам учебного плана при прохождении учебной практики в Университете.
Задачи практики
Закрепление приобретенных теоретических знаний.
Приобретение навыков научного поиска и практической работы с информационными источниками данных.
Овладение практическими методиками формирования цели и задач для работы над групповым проектом, управления познавательной деятельностью.
Приобретение практических навыков участия в командной работе, в групповых проектах, распределения ролей в условиях командного взаимодействия
Приобретение практических навыков использования иностранного языка при анализе зарубежных информационных Интернет источников.
Приобретение навыков использования современных информационных технологий и программных средств для решения задач анализа данных.
Приобретение навыков инсталлирования программного обеспечения.
Формирование практических навыков по основам алгоритмизации вычислительных процессов и программированию решения задач обработки данных их отладке и тестирования на выбранной языковой платформе.
Получение навыков экспериментального исследования больших данных и практического решения информационных задач по обработке данных.
Получения навыков проведения инженерных расчетов.
Получение навыков самостоятельной работы.
Получение навыков подготовки отчетной документации
Источниками информации явились открытые информационные базы, информационно-справочные документы, интернет-ресурсы, учебно-методические материалы, размещенные в Электронном Университете, а также информация, представленная на официальном сайте университета в разделе «Сведения об образовательной организации»: https://www.muiv.ru/sveden/.
ОСНОВНАЯ ЧАСТЬ
выбор платформы и данных
Выбор платформы для разработки и необходимых библиотек
Для выполнения индивидуального задания по ознакомительной практике в качестве основной платформы для разработки была выбрана среда программирования Python, а в качестве среды разработки — PyCharm. Такой выбор обусловлен рядом преимуществ, которые делают Python одним из наиболее популярных языков программирования для анализа данных, статистических расчётов и визуализации.
Python отличается простым синтаксисом, высокой читаемостью кода и широким сообществом разработчиков. Он поддерживает множество библиотек и фреймворков, позволяющих решать широкий спектр задач — от работы с массивами чисел до построения графиков и работы с таблицами.
В рамках реализации поставленной задачи использовались следующие библиотеки:
NumPy — используется для высокопроизводительных операций с массивами и матрицами, обеспечивает удобные математические функции, включая генерацию случайных чисел и вычисление стандартного отклонения;
Pandas — предназначена для работы с табличными данными, упрощает операции с сериями (Series) и датафреймами (DataFrame);
Matplotlib — библиотека для визуализации данных, позволяет строить линейные графики, гистограммы и другие виды диаграмм;
Math — стандартная библиотека Python, содержащая базовые математические функции, применяемые для округления чисел и других операций.
Таким образом, выбор платформы и библиотек обеспечивает все необходимые инструменты для генерации данных, выполнения математического анализа и представления результатов в графической форме. Это позволяет комплексно подойти к решению учебной задачи с соблюдением всех требований к структуре и функциональности программного обеспечения.
Обоснование выбора платформы интерпретатора языка Python
В качестве основной платформы разработки для выполнения анализа данных был выбран язык программирования Python. Такой выбор обусловлен его широким распространением, доступностью, гибкостью и поддержкой большого количества специализированных библиотек.
Python — это высокоуровневый язык программирования общего назначения, который активно используется в задачах анализа данных, машинного обучения, научных исследований и инженерных расчётов. Он обладает следующими ключевыми преимуществами:
Простота синтаксиса и высокая читаемость кода, что существенно ускоряет процесс разработки и снижает вероятность ошибок;
Кроссплатформенность, позволяющая запускать программы на различных операционных системах без модификаций;
Большое сообщество разработчиков и наличие обширной документации, что облегчает поиск решений и повышает доступность обучения;
Интеграция с современными библиотеками и инструментами, необходимыми для обработки, анализа и визуализации данных;
Наличие встроенных и внешних средств для отладки и тестирования кода, что особенно важно при работе с большими объёмами информации.
Также важным фактором при выборе Python является его популярность в образовательной и научной среде, что делает его изучение особенно актуальным для студентов направления «Прикладная информатика».
Учитывая все вышеперечисленные преимущества, язык Python был признан наиболее подходящим для выполнения индивидуального задания по учебной практике, связанного с генерацией, анализом и визуализацией числовых данных.
Выбор библиотек для анализа данных
Для выполнения поставленного задания по анализу и визуализации данных были выбраны следующие библиотеки языка Python: Pandas, Matplotlib, Requests и NumPy. Выбор данных инструментов обоснован их функциональными возможностями, популярностью в сообществе специалистов по обработке данных и совместимостью с задачами, поставленными в рамках практики.
Pandas
Pandas — это одна из ключевых библиотек Python для обработки и анализа структурированных данных. Основными преимуществами являются:
удобное представление данных в виде объектов Series и DataFrame, аналогичных табличным структурам в Excel или базах данных;
наличие множества встроенных функций для фильтрации, сортировки, агрегации, группировки и трансформации данных;
простая интеграция с другими библиотеками и возможность экспорта/импорта данных в различных форматах (CSV, Excel, JSON и др.).
В рамках задания Pandas используется для создания и обработки одномерного массива случайных чисел, а также для построения структурированных таблиц и их анализа.
Matplotlib
Matplotlib — это универсальное средство для построения графиков и визуализации числовых данных. Она позволяет:
создавать линейные графики, гистограммы, круговые диаграммы и другие типы визуализаций;
гибко настраивать внешний вид графиков (цвета, подписи, шрифты, легенды и пр.);
интегрироваться с другими библиотеками анализа данных (в частности, с Pandas и NumPy).
В данном проекте библиотека используется для построения линейных графиков отсортированных данных и визуализации распределения значений в виде гистограммы.
Requests
Библиотека Requests применяется для отправки HTTP-запросов и работы с веб-ресурсами. Хотя в текущем задании генерация данных осуществляется локально, Requests может использоваться в задачах загрузки внешних наборов данных (Dataset) с онлайн-источников или API, если это требуется по условиям индивидуального задания.
Использование данной библиотеки демонстрирует навык подключения внешних ресурсов, что важно для будущих проектов, основанных на работе с открытыми данными и интернет-сервисами.
NumPy
NumPy является фундаментальной библиотекой для научных вычислений и работы с многомерными массивами данных. Её преимущества:
высокая производительность при обработке больших объёмов чисел;
наличие широкого спектра математических функций: от простых арифметических операций до вычисления дисперсии и стандартного отклонения;
возможность генерации случайных чисел с различными распределениями.
В данной работе NumPy используется для генерации массива случайных чисел, а также для вычисления статистических характеристик, таких как среднеквадратическое отклонение.
Получение данных
Предварительный анализ данных
Предварительный анализ данных — это первый и важный этап в процессе обработки информации, направленный на выявление основных характеристик и особенностей полученного набора данных. Он позволяет сформировать общее представление о структуре, диапазоне значений, наличии аномалий или повторений, а также подготовить данные к дальнейшей обработке и визуализации.
В рамках данного задания анализ проводился на сгенерированном наборе случайных целых чисел. Для этих целей были определены следующие характеристики:
количество элементов в наборе;
минимальное и максимальное значение;
количество уникальных значений;
наличие и количество повторяющихся значений;
визуальное распределение данных (на этапе гистограммы).
Данные были представлены в виде объекта Series библиотеки pandas, что позволило удобно применять встроенные методы анализа.
Листинг 1 – Пример собственного программного кода.
import numpy as np
import pandas as pd
# Генерация набора случайных целых чисел от -10000 до 10000 (1000 элементов)
random_numbers = np.random.randint(-10000, 10001, size=1000)
# Создание объекта Series
series = pd.Series(random_numbers)
# Первичный анализ
print("Количество элементов в серии:", series.size)
print("Минимальное значение:", series.min())
print("Максимальное значение:", series.max())
print("Количество уникальных значений:", series.nunique())
print("Количество повторяющихся значений:", series.size - series.nunique())
print("Первые 10 значений серии:\n", series.head(10))
Рисунок 1 –
На данном этапе были получены основные сведения о наборе данных, что позволило убедиться в корректности генерации чисел, их случайности и пригодности для дальнейшего анализа.
Предварительный анализ также дал представление о распределении значений, на основе которого в последующих этапах будет построена гистограмма и рассчитаны числовые характеристики.
1.2.2 Выбор формата хранения данных
Выбор подходящего формата хранения данных является важной частью этапа подготовки информации к обработке и анализу. В рамках данного задания для хранения и последующего анализа набора числовых данных был выбран формат pandas.Series, а также pandas.DataFrame — универсальные структуры данных библиотеки pandas, предоставляющие удобные методы работы с одномерными и двумерными массивами.
Обоснование выбора:
Series позволяет эффективно хранить и обрабатывать одномерные массивы, предоставляя доступ к различным статистическим и логическим операциям;
DataFrame даёт возможность дополнительно обогащать данные новыми столбцами (например, отсортированными значениями) и применять группировки, фильтрации, агрегации;
Оба формата совместимы с библиотеками визуализации, такими как matplotlib, что делает их идеальными для анализа и представления данных.
Дополнительным преимуществом является поддержка экспорта/импорта данных из/в различные форматы: .csv, .xlsx, .json, что делает pandas удобным инструментом для последующей интеграции в реальные проекты.
Листинг 2 – Пример собственного программного кода.
import pandas as pd
import numpy as np
# Генерация случайных чисел
random_numbers = np.random.randint(-10000, 10001, size=1000)
# Создание Series — базовый формат хранения
series = pd.Series(random_numbers)
# Преобразование в DataFrame для расширенного анализа
df = pd.DataFrame({'Исходные данные': series})
# Добавление отсортированных значений
df['По возрастанию'] = df['Исходные данные'].sort_values(ascending=True).values
df['По убыванию'] = df['Исходные данные'].sort_values(ascending=False).values
# Сохранение DataFrame в файл (при необходимости)
df.to_csv('dataset.csv', index=False)
print("Формат хранения данных: DataFrame (табличная структура с 3 столбцами)")
print(df.head())
Рисунок 2 –
Формат DataFrame позволил удобно представить исходные данные и добавить дополнительные атрибуты для их анализа. Это также упростило дальнейшую визуализацию данных с использованием библиотеки matplotlib.
1.2.3 Очистка данных от цифрового мусора
Очистка данных — важный этап подготовки информации к анализу, позволяющий повысить качество результатов и избежать искажений в вычислениях. Даже при генерации чисел с помощью встроенных функций возможно появление "цифрового мусора" — некорректных значений, дубликатов, пропусков или значений, выходящих за предполагаемый диапазон.
В рамках данного задания использовалась генерация случайных целых чисел в диапазоне от -10000 до 10000. Несмотря на то, что данные были созданы программно, для демонстрации навыков очистки данных были реализованы следующие действия:
удаление дубликатов;
проверка наличия пустых (NaN) значений;
фильтрация значений, выходящих за допустимый диапазон (например, меньше -10000 или больше 10000, в случае ошибок генерации);
преобразование типов при необходимости.
Листинг 3 – Пример собственного программного кода.
import pandas as pd
import numpy as np
# Генерация исходных данных
random_numbers = np.random.randint(-10000, 10001, size=1000)
series = pd.Series(random_numbers)
# Преобразование в DataFrame для анализа и очистки
df = pd.DataFrame({'Числа': series})
# Проверка и удаление пустых значений (если бы они были)
print("Количество пропущенных значений:", df['Числа'].isna().sum())
df.dropna(inplace=True)
# Удаление дубликатов
initial_len = len(df)
df.drop_duplicates(inplace=True)
print(f"Удалено дубликатов: {initial_len - len(df)}")
# Убедимся, что все значения в допустимом диапазоне [-10000, 10000]
df = df[(df['Числа'] >= -10000) & (df['Числа'] <= 10000)]
# Сброс индексов после очистки
df.reset_index(drop=True, inplace=True)
print("Результат очистки:\n", df.head())
Рисунок 3 –
В результате очистки были удалены повторяющиеся значения и проверены потенциальные ошибки в данных. Несмотря на то, что цифровой "мусор" не возник при генерации, включение этапа очистки демонстрирует готовность к работе с реальными наборами данных, где наличие ошибок — частое явление. Это повышает надёжность дальнейшего анализа и визуализации.
1.3 Выводы по разделу
Я считаю, что выбор плаформы является неотемлемой частью правильного и компактного кода. Ещё одним важным пунктом является выбор минимального количества нужных библиотек. Основываясь на информации в данном разделе можно сделать следующие выводы (табл.1.2).
Таблица 1.2
Выводы по разделу 1
количественный анализ данных
Получение данных Dataset (данные)
На этапе количественного анализа данных первым шагом является формирование исходного набора чисел — Dataset. В рамках данного задания было принято решение не загружать внешние данные, а сгенерировать их программно. Такой подход позволяет:
полностью контролировать диапазон значений;
исключить влияние некорректных или неструктурированных данных;
смоделировать работу с числовыми массивами, приближенную к анализу реальных числовых признаков.
Для генерации данных использовалась библиотека NumPy, которая позволяет эффективно создавать массивы случайных чисел с заданным количеством и диапазоном. В дальнейшем эти данные были преобразованы в структуру Series библиотеки Pandas для дальнейшего анализа и визуализации.
Требования к набору:
Количество элементов: 1000;
Тип данных: целые числа;
Диапазон значений: от -10000 до 10000.
Листинг 4 – Пример собственного программного кода
import numpy as np
import pandas as pd
# Генерация 1000 случайных целых чисел в диапазоне [-10000, 10000]
random_data = np.random.randint(-10000, 10001, size=1000)
# Создание Series — основной структуры хранения набора данных
series = pd.Series(random_data)
# Вывод первых значений для проверки
print("Первые 10 элементов набора данных:")
print(series.head(10))
Рисунок 4 –
В результате выполнения кода был получен числовой массив из 1000 элементов, представленный в виде объекта Series, который поддерживает эффективное выполнение аналитических и визуальных операций. Набор данных соответствует поставленным условиям и может быть использован для дальнейших расчётов, включая определение минимального и максимального значения, суммы, стандартного отклонения и т.д.
Рассчет стандартных числовых характеристик для набора данных Series
После генерации исходного набора чисел необходимо провести первичный статистический анализ данных, что позволит определить основные числовые характеристики. Это базовый этап анализа, используемый при исследовании любых массивов чисел.
В рамках задания были рассчитаны следующие показатели:
Минимальное значение;
Количество повторяющихся элементов;
Максимальное значение;
Сумма всех значений.
Данные хранятся в структуре pandas.Series, что позволяет применять встроенные методы библиотеки pandas для быстрого и корректного вычисления нужных характеристик.

Заключение

В ходе прохождения ознакомительной учебной практики были закреплены теоретические знания и приобретены практические навыки в области анализа и обработки числовых данных с использованием языка программирования Python и его библиотек. Практическое задание включало этапы генерации данных, их первичного анализа, визуализации и представления в табличной форме.
В процессе выполнения работы:
был сгенерирован набор случайных целых чисел с помощью библиотеки NumPy;
проведён предварительный анализ данных с использованием средств библиотеки Pandas;
рассчитаны стандартные числовые характеристики: минимум, максимум, сумма, количество повторений и стандартное отклонение;
построены графические визуализации в виде линейного графика и гистограммы с использованием библиотеки Matplotlib;
сформирован структурированный DataFrame, дополненный отсортированными значениями;
выполнена итоговая визуализация, объединяющая на одном графике оба упорядоченных массива данных.
Работа позволила отработать навыки программирования, познакомиться с основами работы с библиотеками анализа данных, научиться строить графики и представлять информацию в аналитически удобном виде. Полученные знания и навыки являются основой для более сложных задач, связанных с анализом, визуализацией и обработкой реальных массивов данных, что важно для будущей профессиональной деятельности в сфере информационных технологий.
Список использованной литературы
Лутц М. Изучаем Python. 5-е издание. — СПб.: Питер, 2020. — 1216 с.
⟶ Используется для обоснования выбора языка Python и описания его архитектурных особенностей [1].
МакКинни У. Python для анализа данных. 2-е издание. — СПб.: Питер, 2019. — 544 с.
⟶ Описание библиотек pandas и NumPy, их применение для работы с таблицами, массивами и статистикой [2].
ВандерПлас Дж. Подробный справочник по Matplotlib, Seaborn и другим средствам визуализации. В кн.: ВандерПлас Дж. Python. Наука о данных. — М.: ДМК Пресс, 2021. — С. 211–264.
⟶ Используется при построении линейных графиков и гистограмм [3].
Python Software Foundation. Python 3.12 Documentation [Электронный ресурс]. — URL: https://docs.python.org/3/ (дата обращения: 21.07.2025).
⟶ Используется для обращения к официальной документации языка Python и стандартной библиотеки math [4].
The Pandas Development Team. Pandas Documentation [Электронный ресурс]. — URL: https://pandas.pydata.org/docs/ (дата обращения: 21.07.2025).
⟶ Источник для справки по функциям Series, DataFrame и методам агрегации [5].
The Matplotlib Development Team. Matplotlib Documentation [Электронный ресурс]. — URL: https://matplotlib.org/stable/contents.html (дата обращения: 21.07.2025).
⟶ Используется при построении графиков, настройке подписей, цвета и сетки [6].
NumPy Developers. NumPy Documentation [Электронный ресурс]. — URL: https://numpy.org/doc/ (дата обращения: 21.07.2025).
⟶ Используется для генерации случайных чисел, работы с массивами и статистикой [7].

Подробное описание

📘 О чем эта работа

Отчет посвящён формированию, обработке и визуализации одномерного набора чисел: объект исследования — набор из 1000 случайных целых чисел в диапазоне от -10000 до 10000, предмет — процедуры генерации, очистки, расчёта стандартных числовых характеристик и построения графиков с применением Python.

📚 Что внутри

Работа подробно показывает этапы подготовки и анализа: от выбора платформы и библиотек до итоговой визуализации. Конкретика:

  • Исходные данные: программная генерация 1000 случайных целых чисел с помощью NumPy (диапазон [-10000,10000]).
  • Формат хранения: использование pandas.Series и преобразование в pandas.DataFrame; экспорт в CSV при необходимости.
  • Очистка: удаление дубликатов, проверка на NaN, фильтрация по диапазону и сброс индексов; приведены листинги кода.
  • Расчёты: минимальное и максимальное значение, сумма, количество уникальных и повторяющихся элементов, стандартное отклонение — все вычислены встроенными методами pandas/NumPy.
  • Визуализация: линейный график последовательности значений; гистограмма распределения (значения округляются до сотен); сравнительная визуализация отсортированных по возрастанию и убыванию массивов (по одному графику).

📊 Для кого подходит

Материал полезен студентам прикладной информатики и смежных направлений, преподавателям для демонстрации базовой практики по обработке числовых массивов, а также начинающим аналитикам для отработки навыков работы с NumPy, Pandas и Matplotlib.

✨ Особенности

Работа содержит готовые и проверенные примеры кода (листинги), структурированный DataFrame с тремя столбцами (исходные, по возрастанию, по убыванию), шаблоны визуализаций и рекомендации по очистке «цифрового мусора». Подробно описаны причины выбора инструментов (Python, PyCharm, NumPy, Pandas, Matplotlib, Requests) и порядок действий для повторяемости эксперимента.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура соответствует стандартным требованиям отчёта по ознакомительной практике: введение, цель и задачи, основной раздел с кодом и графиками, выводы и список литературы.

Можно адаптировать?
Да. Набор легко заменить на реальные CSV/Excel-файлы, добавить дополнительные столбцы признаков, расширить вычисления метриками (медиана, квартили, корреляции) и интегрировать в Jupyter-отчёт.