Страницу Назад
Поискать другие аналоги этой работы

700

Лабораторные работы №1,2,3 по дисциплине: Обработка и анализ данных. Для всех вариантов

ID: 245556
Дата закачки: 27 Июля 2024
Продавец: SibGUTI (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Задания к лабораторным работам

Лабораторная работа №1. Введение в Python

Задание 1

Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс.
Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math.
Вариант 1.

Задание 2

Разработать программу для вычисления выражения и вывода полученного результата. Соответствующие исходные данные ввести с клавиатуры.
Вариант 1:
Исходные данные: a,b,c.


Лабораторная работа №2.

Работа выполнена для алгоритма быстрой сортировки

Работа с файлами. Списки

Задание. Программа должна создавать файл *.xls, записать в него сгенерированный случайным образом массив чисел. Затем, с помощью реализованного алгоритма сортировки, одного из предложенных
преподавателем, записать отсортированную последовательность чисел в ранее созданный файл *.xls.
Алгоритмы сортировки:
 Сортировка выбором
 Сортировка вставками
 Сортировка “Методом пузырька”
 Сортировка Шелла
 Быстрая сортировка
Процесс создания, сохранения и работы с файлами на диске
Для создания файла необходимо выполнить команду:
f = open ("file1.txt", "w +")
Мы объявили переменную f, чтобы открыть файл с именем "file1.txt".
Функция open принимает 2 аргумента: путь к файлу, который мы хотим открыть, и строку, представляющую виды разрешений или операций, которые мы хотим выполнить над файлом.
Возможные варианты второго аргумента:
\\\'\\\' r \\\'\\\' Открыть текстовый файл для чтения. Поток расположен в начале файла.
\\\'\\\' r + \\\'\\\' Открыт для чтения и письма. Поток расположен в начале файла.
\\\'\\\' w \\\'\\\' Обрезать файл до нулевой длины или создать текстовый файл для записи. Поток располагается в начале файла.
\\\'\\\' w + \\\'\\\' Открыт для чтения и письма. Файл создается, если он не существует, в противном случае он затирается. Поток расположен в начале файла.
\\\'\\\'a \\\'\\\' Открыта для письма. Файл создается, если он не существует. Поток расположен в конце файла. Последующие записи к файлу всегда будет в
конце текущего конца файла.
\\\'\\\' a+ \\\' файл открыт для чтения и письма, если файл не существует, то он создается. Поток располагается в конце файла.
В следующем примере в цикле в файл записываются строки «This is line1,2…, n»:
for i in range(10):
f.write("This is line %d\\\\r\\\\n" % (i+1))
f.close()
В цикле for задается диапазон 10 чисел. Для записи данных в файл используется функция write. В каждой строке в файл записывается строка:
«This is a line», затем %d (предупреждает, что будет введено целое число), символ перевода каретки на новую строку(\\\\r\\\\n) и само значения номера строки %(i+1). Таким образом, в основном мы вводим номер строки, которую пишем, затем помещаем ее в символ возврата каретки и символ новой строки. В конце файл необходимо закрыть (функция f.close()).
Если вы попытаетесь записать в файл просто созданный список, то он запишется как строковые данные со скобками. Впоследствии это приведет к затруднению считывания данных. Поэтому лучше использовать указания типов при записи данных в файл. Уточним, как работает типизированный ввод данных.
>>> pupil = "Ben"
>>> old = 16
>>> grade = 9.2
>>> f.write ("It\\\'s %s, %d. Level: %f" % (pupil, old, grade))
It\\\'s Ben, 16. Level: 9.200000
В вышеприведенном коде создаются 3 переменные строкового, целого и вещественного типа. Для записи их в файл необходимо предварительно указать, в каком порядки и какого типа переменные будут сохраняться "It\\\'s
%s, %d. Level: %f", а затем перечислить сами переменные. Таким образом буквы s, d, f обозначают типы данных – строку, целое число, вещественное число.
Чтение файла
Для открытия файла в режиме чтения наберите команду:
f = open ("file1.txt", "r")
Можно использовать функцию mode в коде, чтобы проверить, находится ли файл в открытом режиме. Если да, мы продолжаем if f.mode == \\\'r\\\':
Используйте f.read, чтобы прочитать данные файла и сохранить их в переменной content.
1. Способ вывода – выводим все содержимое файла в переменную content
#Open the file back and read the contents
f=open("file1.txt", "r")
if f.mode == \\\'r\\\':
contents =f.read()
print (contents)
f.close()
Для того, чтобы получить из строки список отдельных элементов , можно воспользоваться функцией split(“arg”), где arg – символ разбиения:
with open(\\\'foo.txt\\\',\\\'r\\\')as f:
c=f.read().split(" ")
print(type(c[0]))
Символом разбиения может быть пробел (как в примере), и любой символьный знак, например «,», «/» и др.
2. Способ вывода – поэлементное задание и вывод переменной x:
f=open("file1.txt", "r")
#or, readlines reads the individual line into a list
fl =f.readlines()
for x in fl:
print(x)
f.close()
Загрузка файла на google-диск
_________________________________________________________________
to google.colab import files // из библиотеки google.colab загружается раздел files with open(\\\'example.txt\\\', \\\'w\\\') as f: // открытие файла «example.txt» с правом
чтения в переменную f
f.write(\\\'some content\\\') // запись в файл f текста «some content»
files.download(\\\'example.txt\\\') // сохранение файла на диске как «example.txt»
_________________________________________________________________
2. Способ. Для того чтобы подгрузить файл в colab вам потребуется обратиться к своему google диску. В приведенном ниже примере показано, как подключить диск Google Drive во время выполнения с помощью кода
авторизации и как записывать и читать файлы там. После выполнения вы увидите новый файл (foo.txt) по адресу https://drive.google.com/.
После монтирование google-диска необходимо перейти по предложенной ссылке URL (рис. 7).

Рис. 7. Процесс подключение google-диска

Самая нижняя строка на рис. 7. Оповещает о том, что ваш google-диск подключен.
Файлы вашего google-диска находятся по адресу: «/content/drive/My Drive/»
Для просмотра существующих документов на вашем google-диске воспользуемся командой !ls (рис. 8),

Рис. 8. Просмотр существующих документов на google-диске

Создадим файл foo.txt (рис. 9), записав в нем фразу «Hello Google Drive!».

Рис. 9. Изменение содержимого файла foo.txt и его вывод

Последняя строка кода на рис. 9. Позволяет вывести содержимое файла «foo.txt», где
!cat – команда вывода содержимого файла,
/content/drive/My\\\\ Drive/ – путь к файлу,
foo.txt – название файла.
Для дополнительной информации можно обратиться:
https://colab.research.google.com/notebooks/io.ipynb#scrollTo=7taylj9wpsA2


Лабораторная работа №3. Работа с БД

Создать программу для работы с базой данных, при этом добавив обработку исключительных ситуаций. База данных должна содержать не менее 5 связанных таблиц. У программы должен быть графический интерфейс (возможность отображать таблицы с помощью библиотеки
Pandas, редактировать таблицы с помощью интерактивных форм)
[https://colab.research.google.com/notebooks/forms.ipynb].
По сохраненным данным в таблицах построить минимум 3 различных аналитических графика
[https://colab.research.google.com/notebooks/charts.ipynb,
https://colab.research.google.com/notebooks/widgets.ipynb] с помощью библиотеки matplotlib.

Создание базы данных с помощью SQLite
SQLite - это библиотека, написанная на языке C, которая предоставляет легкую дисковую базу данных, не требующую отдельного серверного процесса и позволяющую получить доступ к базе данных с использованием нестандартного варианта языка запросов SQL. Некоторые приложения могут использовать SQLite для внутреннего хранения данных. Также возможно
создать прототип приложения с использованием SQLite, а затем перенести код в большую базу данных, такую как PostgreSQL или Oracle. Модуль sqlite3 был написан Герхардом Херингом. Он предоставляет интерфейс SQL,
соответствующий спецификации DB-API 2.0, описанной в PEP 249 [https://docs.python.org/2/library/sqlite3.html].
Для создания новой базы данных необходимо импортировать библиотеку sqlite3(она уже предварительно установлена в google-лаборатории) и вызвать функцию соединения с базой. При первом вызове буде создан файл «mydatabase.db»
После этого в текущей папке появится новый файл «mydatabase.db», который можно увидеть, используя команду !ls:
После этого в текущей папке появится новый файл «mydatabase.db», который можно увидеть, используя команду !ls:
Можно создавать временные базы данных, хранящиеся в оперативной памяти, при этом файл сохраняться не будет, и доступность будет ограничена текущей сессией:
После получения соединения, вы можете обращаться к базе данных с помощью объекта типа cursor. Выполнение запросов к базе выполняется с помощью его метода execute():
В данном примере в базе данных «mydatabase» создается таблица «students»со следующими полями: «id» – первичный ключ, обозначающий номер студента, «FIO» – ФИО студента типа «текст» и «yearbirth» – год рождения
типа «текст». Добавлять поля с первичным ключом в таблицу не обязательно, он автоматически сгенирируется во время создания таблицы. Но, если вы его задали при создании таблицы, то именно это поле будет первичным ключом.
Добавление данных в таблицу осуществляется с помощью SQL-команды «INSERT».
После добавления записи необходимо сохранить изменения с помощью функции comit(). SQLite не пишет в базу данных, пока вы не совершите транзакцию. Транзакция состоит из 1 или более запросов, которые вносят изменения в базу данных одновременно. Это сделано для того, чтобы упростить восстановление после случайных изменений или ошибок.
Транзакции позволяют выполнить несколько запросов, а затем, наконец, изменить базу данных с результатами всех из них. Это гарантирует, что в случае сбоя одного из запросов база данных не будет частично обновлена
Вывод записей таблицы на экран:
Первый запрос, который мы выполнили, называется SELECT *, что означает, что мы хотим выбрать все записи из таблицы “students”, отсортированные по полю “id”.
Удаление записи из базы данных:
В запросе из таблицы students удаляются данные, у которых в поле FIO записано «Savelieva Anastasia»
Вывод записей таблицы на экран после удаления строки:
Здесь мы в запросе SELECT указали еще rowid – это первичный ключ таблицы по-умолчанию. Можно пользоваться им, можно создать свой собственный, как в нашем случае поле “id”. Видно, что строка с FIO
«Savelieva Anastasia» была удалена из таблицы.
Запрос на выбор всех студентов, у которых год рождения 2002:
Мы выполняем SQL и используем функцию fetchall() для получения результатов. Можно также использовать функцию fetchone() для получения только первого результата. Функция execute() выполняет sql-запрос на выбор данных из таблицы.
Как видите, результаты отформатированы в виде списка кортежей. Каждый кортеж соответствует строке в базе данных, к которой мы обращались.
Работа с данными таким способом довольно болезненна. Нам нужно вручную добавить заголовки столбцов и вручную проанализировать данные.
К счастью, у библиотеки панд есть более простой способ, который мы рассмотрим в следующем разделе.
Пример ниже показывает, как команда LIKE используется при поиске частичных фраз. В нашем случае, мы искали по всей таблице FIO, которые начинаются с “S”. Знак процента (%) является подстановочным оператором.
В результате данного запроса были выбраны все студенты, чья фамилия начиналась на “S”.
Прежде чем двигаться дальше, рекомендуется закрыть открытые объекты Connection и Cursor. Это предотвращает блокировку базы данных SQLite.
Когда база данных SQLite заблокирована, возможно, вы не сможете обновить базу данных и получите ошибки. Мы можем закрыть курсор и соединение следующим образом:
Работа с SQLite и Pandas DataFrame
Для чтения результатов SQL-запроса можно использовать функцию read_sql_query библиотеки pandas DataFrame. Приведенный ниже код выполнит тот же запрос, который мы только что сделали, но вернет DataFrame. Он имеет несколько преимуществ по сравнению с запросом,
выполненным нами ранее, т.к.
 Не требуется создание объекта Cursor или вызова fetchall в конце.
 Имена заголовков из таблицы считываются автоматически.
 Создается DataFrame, позволяющий быстро отобразить и изучить данные.
В результате получаем красиво отформатированный объект DataFrame, с помощью него можно легко обратиться к определенному столбцу таблицы и
вывести все имена и фамилии студентов:
Создание таблиц с помощью Pandas
Пакет pandas дает нам гораздо более быстрый способ создания таблиц. Нам просто нужно сначала создать DataFrame, а затем экспортировать его в таблицу SQL. Сначала мы создадим DataFrame:
Затем мы сможем вызвать метод to_sql для преобразования df в таблицу в базе данных. Мы устанавливаем параметр if_exists для замены, чтобы
удалить и заменить любые существующие таблицы с именем “raspisanie”:
Затем мы можем проверить, что все работает, запросив базу данных:
Редактирование таблиц с помощью Pandas
Пи работе с данными иногда приходится изменять конфигурацию таблиц.
Допустим в ранее созданную таблицу “raspisanie” нам необходимо добавить поле аудитория («room»). Сначала сделаем это с помощью курсора cur:
Обратите внимание, что в SQLite все столбцы имеют значение null (что в Python переводится как None), поскольку для этого столбца еще нет никаких
значений.
В библиотеке Pandas также предусмотрена подобная функция редактирования таблиц:
Дополнительные ссылки:
1.https://pandas.pydata.org/pandasdocs/stable/getting_started/comparison/comparison_with_sql.html
2. https://docs.python.org/3/library/sqlite3.html
3.http://sebastianraschka.com/Articles/2014_sqlite_in_python_tutorial.html
Создание и редактирование интерактивных форм
Формы позволяют удобно редактировать код. Выделив текущую ячейку кода необходимо выбрать раздел Insert → Add form field. При изменении
значения в форме изменяется соответствующая строка кода [https://colab.research.google.com/notebooks/forms.ipynb].
Для сокрытия кода необходимо выбрать раздел Edit → Show/hide code. Для обращения таблицам и полям можно использовать интерактивные поля ввода



Комментарии: Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 1
Оценка: Зачет
Дата оценки: 15.05.2024
Рецензия: Уважаемый ...............................................,

Данилова(Ермоленко) Любовь Филипповна


Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 2
Оценка: Зачет
Дата оценки: 17.05.2024
Рецензия: Уважаемый ...............................................,

Данилова(Ермоленко) Любовь Филипповна

Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 3
Оценка: Зачет
Дата оценки: 17.05.2024
Рецензия: Уважаемый ...............................................,

Данилова(Ермоленко) Любовь Филипповна


В отчете файл: .doc и .ipynb

Размер файла: 392 Кбайт
Фаил: Упакованные файлы (.rar)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


        Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Обработка и анализ данных / Лабораторные работы №1,2,3 по дисциплине: Обработка и анализ данных. Для всех вариантов
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!