Python для лабораторных расчётов: numpy, pandas, matplotlib
Лабораторные данные удобно обрабатывать таблицей, но как только появляются десятки серий и повторных измерений, таблица перестаёт справляться. Python даёт воспроизводимость: один скрипт считает то же самое при каждом запуске.
Разберём минимальный набор инструментов и порядок работы.
Что установить
Python с менеджером пакетов.
Библиотеки numpy, pandas и matplotlib.
Среду разработки: подойдёт Jupyter, VS Code или любой редактор.
Виртуальное окружение
Создайте отдельное окружение для курса.
Установите библиотеки в него, а не в систему.
Это избавляет от конфликтов между проектами и упрощает повторную настройку.
Структура проекта
Папка с исходными данными, папка со скриптами, папка с результатами.
Не перезаписывайте исходные файлы.
Имена файлов — без пробелов и кириллицы, если данные будут обрабатываться на разных машинах.
Чтение данных
CSV читается через pandas одной строкой.
Проверьте разделитель и кодировку: они часто становятся причиной ошибок.
Первые строки файла лучше просмотреть глазами, прежде чем считать.
numpy
Массивы numpy удобны для векторизованных вычислений.
Операции применяются ко всем элементам без циклов.
Для средних, стандартных отклонений и преобразований есть готовые функции.
pandas
Таблица с именованными столбцами и индексами.
Фильтрация, группировка и соединение выполняются методами.
Это ближе к работе с Excel, но с воспроизводимостью.
Пропуски
Пропущенные значения обозначаются явно.
Решение о том, что делать с ними, принимает исследователь: удалить строку, заменить средним или оставить.
Молчаливое заполнение нулями искажает результат.
Выбросы
Выброс — не всегда ошибка.
Сначала проверьте, не опечатка ли это, и только потом решайте, исключать ли точку.
Правило исключения должно быть описано в отчёте.
Расчёт
Считайте по формулам из методички, а не по памяти.
Каждая промежуточная величина должна иметь имя.
Проверяйте единицы измерения на каждом шаге.
Графики
Matplotlib строит графики, которые можно сохранить в PDF и PNG.
Подпишите оси и укажите единицы.
Легенда нужна, если на графике несколько серий.
Сохранение результатов
Сохраняйте таблицы в CSV, а графики — в PDF для отчёта.
Не храните результаты только в выводе ноутбука: после перезапуска он исчезнет.
Фиксируйте версии библиотек, если работа будет воспроизводиться.
Воспроизводимость
Скрипт должен запускаться от начала до конца без ручных правок.
Случайные числа фиксируйте начальным значением.
Пути к файлам делайте относительными.
Проверка
Сравните результат с ручным расчётом одного-двух случаев.
Проверьте размерности и порядок величины.
Если числа расходятся, ищите ошибку в данных, а не в библиотеке.
Оформление в отчёте
Опишите, какие библиотеки использованы и что именно считалось.
Приложите скрипт или ссылку на него, если это требуется.
Не приводите весь код в тексте: достаточно ключевых фрагментов.
Ноутбуки и скрипты
Jupyter удобен для исследования данных: ячейки выполняются по отдельности, результат виден сразу.
Для сдачи и повторного запуска лучше оформить расчёт как скрипт: он выполняется целиком и не зависит от порядка ячеек.
Хорошая практика — сначала исследовать в ноутбуке, затем перенести рабочий код в скрипт.
Чтение таблиц Excel
pandas читает xlsx, но проверьте, что числа не стали текстом.
Ошибка возникает, если в столбце встречаются прочерки или пробелы: тип определяется как строковый.
После чтения выведите типы и первые строки — это экономит часы отладки.
Повторные измерения
Если каждая точка измерена несколько раз, агрегируйте данные перед построением графика.
Среднее и стандартное отклонение считаются по группе.
Сохраняйте и число измерений: без него нельзя оценить надёжность.
Сохранение графиков
Сохраняйте PDF для отчёта и PNG для презентации.
Проверьте размер шрифта: на слайде мелкие подписи не читаются.
Не сохраняйте график через скриншот — теряется разрешение.
Версии и окружение
Зафиксируйте версии библиотек в файле зависимостей.
Через полгода расчёт может дать другой результат из-за изменений в библиотеке.
Опишите версию в отчёте, если требуется воспроизводимость.
Первый скрипт
Начните с чтения файла и вывода первых строк.
Убедитесь, что разделитель и десятичный разделитель определены верно.
Затем добавляйте расчёт по шагам.
Функции
Оформите повторяющиеся расчёты как функции.
Это уменьшает число ошибок копирования.
Давайте функциям понятные имена.
Комментарии
Комментируйте не очевидные места, а смысл шага.
Ссылка на формулу из методички помогает читателю.
Не комментируйте каждую строку.
Проверка размеров массива
Ошибка в форме массива проявляется в неверных результатах.
Выведите размеры перед операциями.
Особенно это важно при объединении таблиц.
Передача работы
Приложите скрипт, данные и файл зависимостей.
Проверьте, что пути относительные.
Так работу можно запустить на другом компьютере.
Итоговая проверка
Сравните результат с ручным расчётом.
Проверьте, что график соответствует таблице.
Убедитесь, что скрипт запускается на чистом окружении: это лучшая проверка того, что в работе нет скрытых зависимостей.
Чек-лист
- Окружение создано.
- Данные прочитаны и проверены.
- Пропуски обработаны.
- Расчёт выполнен.
- Графики подписаны.
- Результаты сохранены.
- Скрипт воспроизводим.
Частые вопросы
Нужно ли знать Python заранее?
Достаточно базовых навыков; остальное осваивается по ходу.
Можно ли обойтись Excel?
Для небольших наборов да, но воспроизводимость ниже.
Что делать, если данные в формате xlsx?
pandas читает xlsx, но убедитесь, что не потерялись типы данных.