Лабораторные работы №1,2,3 по дисциплине: Обработка и анализ данных. Для всех вариантов
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Задания к лабораторным работам
Лабораторная работа No1. Введение в Python
Задание 1
Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс.
Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math.
Вариант 1.
Задание 2
Разработать программу для вычисления выражения и вывода полученного результата. Соответствующие исходные данные ввести с клавиатуры.
Вариант 1:
Исходные данные: a,b,c.
Лабораторная работа No2.
Работа выполнена для алгоритма быстрой сортировки
Работа с файлами. Списки
Задание. Программа должна создавать файл *.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
Лабораторная работа No3. Работа с БД
Создать программу для работы с базой данных, при этом добавив обработку исключительных ситуаций. База данных должна содержать не менее 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. Для обращения таблицам и полям можно использовать интерактивные поля ввода
Лабораторная работа No1. Введение в Python
Задание 1
Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс.
Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math.
Вариант 1.
Задание 2
Разработать программу для вычисления выражения и вывода полученного результата. Соответствующие исходные данные ввести с клавиатуры.
Вариант 1:
Исходные данные: a,b,c.
Лабораторная работа No2.
Работа выполнена для алгоритма быстрой сортировки
Работа с файлами. Списки
Задание. Программа должна создавать файл *.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
Лабораторная работа No3. Работа с БД
Создать программу для работы с базой данных, при этом добавив обработку исключительных ситуаций. База данных должна содержать не менее 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
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 1
Оценка: Зачет
Дата оценки: 15.05.2024
Рецензия: Уважаемый ...............................................,
Данилова(Ермоленко) Любовь Филипповна
Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 2
Оценка: Зачет
Дата оценки: 17.05.2024
Рецензия: Уважаемый ...............................................,
Данилова(Ермоленко) Любовь Филипповна
Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Обработка и анализ данных
Вид работы: Лабораторная работа 3
Оценка: Зачет
Дата оценки: 17.05.2024
Рецензия: Уважаемый ...............................................,
Данилова(Ермоленко) Любовь Филипповна
В отчете файл: .doc и .ipynb
Похожие материалы
Лабораторные работы 1-3 по дисциплине: Обработка и анализ данных. Вариант №01
IT-STUDHELP
: 11 октября 2023
Вариант No01
Лабораторная работа No1
Введение в Python
Вариант 1
Задание 1
Напишите программу для решения примера.
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль.
k=ln|(y-√(|x| ))⋅(x-y/(z+x^2/4))|
Листинг программы
Результат работы программы
------------------------------------------------------------------------------
Задание 2
Разработать программу для вычисления выражения и вывода полученного результата. Соответствующие исходные да
900 руб.
Лабораторные работы 1-3 по дисциплине: Обработка и анализ данных. Вариант №23
IT-STUDHELP
: 20 мая 2023
Лабораторная работа No1
Введение в Python
Вариант 4
Задание 1
Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль.
b=(3+e^(y-1))/(1+x^2⋅|y-tg(z)| )
Задание 2
Разработать программу для вычисления выражения и вывода полученного результата. Соответствующие исходные данные ввести с клавиатуры.
b={█(&sin(x+y)+2⋅(x+y)^2,x-y>0@&sin(x-y)+(x-y)^3,x-y<0@&|x^2+√y|,y≠0,x=0@&0,y=0)
Исходные данные: x,y.
1200 руб.
Лабораторная работа 1-3 по дисциплине: Обработка и анализ данных. Вариант 02
IT-STUDHELP
: 14 мая 2022
Лабораторная работа №1
Введение в Python
Вариант 3
Задание 1
Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс.
Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math.
Задание 2
Разработать программу для
1200 руб.
Лабораторные работы №№1-3 по дисциплине: Обработка и анализ данных. Вариант №5
IT-STUDHELP
: 1 декабря 2021
Лабораторная работа №1
Введение в Python
Вариант 2
Задание 1
Напишите программу для решения примера (по вариантам).
Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс.
Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math.
Задание 2
Разработать программу для
1200 руб.
Контрольная и Лабораторные работы 1-3 по дисциплине: Обработка и анализ данных. Вариант №01
IT-STUDHELP
: 11 октября 2023
Контрольная работа
Вариант No01
Задание 1. Модели и оценка их эффективности
Цель – получить навыки работы c библиотеками Python для задач анализа данных.
Задачи:
1. Загрузить в рабочую зону предоставленный набор данных.
2. Восстановить пропущенные значения.
3. Построить модель классификации и настроить её гиперпараметры.
4. Отобрать информативные признаки и оценить влияние этого процесса на работу модели.
Листинг программы
*******************
Результат работы программы
--------------------
1100 руб.
Контрольная и Лабораторные работы 1-3 по дисциплине: Обработка и анализ данных. Вариант №23
IT-STUDHELP
: 20 мая 2023
Контрольная работа
Вариант No23
Задание 1. Модели и оценка их эффективности
Цель – получить навыки работы c библиотеками Python для задач анализа данных.
Задачи:
1. Загрузить в рабочую зону предоставленный набор данных.
2. Восстановить пропущенные значения.
3. Построить модель классификации и настроить её гиперпараметры.
4. Отобрать информативные признаки и оценить влияние этого процесса на работу модели.
Задание 2. Исследовательский анализ данных
Цель работы: получить навыки работы c библиоте
1700 руб.
Контрольная и Лабораторная работа 1-3 по дисциплине: Обработка и анализ данных. Вариант 02
IT-STUDHELP
: 14 мая 2022
Контрольная работа
Задание 1. Модели и оценка их эффективности
Цель – получить навыки работы c библиотеками Python для задач анализа данных.
Задачи:
1. Загрузить в рабочую зону предоставленный набор данных.
2. Восстановить пропущенные значения.
3. Построить модель классификации и настроить её гиперпараметры.
4. Отобрать информативные признаки и оценить влияние этого процесса на работу модели.
Задание 2. Исследовательский анализ данных
Цель работы:
получить навыки работы c библиотеками Pandas, N
1800 руб.
Контрольная работа и Лабораторные работы №1-3 по дисциплине: Обработка и анализ данных. Вариант №5
IT-STUDHELP
: 1 декабря 2021
Контрольная работа
Задание 1. Модели и оценка их эффективности
Цель – получить навыки работы c библиотеками Python для задач анализа данных.
Задачи:
1. Загрузить в рабочую зону предоставленный набор данных.
2. Восстановить пропущенные значения.
3. Построить модель классификации и настроить её гиперпараметры.
4. Отобрать информативные признаки и оценить влияние этого процесса на работу модели.
Задание 2. Исследовательский анализ данных
Цель работы:
получить навыки работы c библиотеками Pandas,
1750 руб.
Другие работы
Гидравлика Пермская ГСХА Задача 35 Вариант 6
Z24
: 4 ноября 2025
Наклонный щит АВ удерживает уровень воды H при угле наклона α и ширине щита b. Требуется разделить щит по высоте на две части так, чтобы сила давления Р1 на верхнюю часть его была равна силе давления Р2 на нижнюю часть. Определить положение центров приложения этих сил.
200 руб.
Лабораторная работа №2 «Электропитание устройств и систем телекоммуникаций».
corner
: 3 сентября 2018
Лабораторная работа № 2. Исследование способов включения трехфазных трансформаторов.
Цель работы - Изучение особенностей трехфазных трансформаторов при соединении обмоток звездой, треугольником и зигзагом.
100 руб.
Тушение пожаров нефтепродуктов в резервуарах и резервуарных парках
Slolka
: 21 марта 2014
Общие сведения о резервуарах и парках хранения ЛВЖ и ГЖ и пожарах в них
Количество пожаров, возникающих в резервуарах с ЛВЖ-ГЖ, сравнительно невелико и составляет менее 15% от пожаров, имеющих место на объектах химии и нефтехимии. Однако это наиболее сложные пожары, представляющие опасность для коммуникаций, смежных сооружений, а также для участников тушения. Опасность этих пожаров обусловлена возможностью жидкостей растекаться на большой площади с большой скоростью распространения пламени.
Пожа
15 руб.
Профессиональная деятельность юридического психолога
alfFRED
: 11 октября 2013
Содержание
Введение
1. Общая характеристика деятельности профессионального психолога.
2. Специфика подготовки практических психологов.
Заключение.
Введение
Кризисные общественно-экономические процессы в Российской Федерации в конце XX столетия вызвали необходимость внесения существенных изменений в правоохранительную деятельность государства, организационно-управленческую и социально-психологическую работу с кадрами МВД.
Усложнение содержания форм и методов деятельности правоохранительных
10 руб.