Импорт наборов данных

1.

Импорт наборов данных
Лекция 6
Преподаватель: Сатыбалдиева Рысхан Жакановна, к.техн.наук, ассоц.проф. Кафедры
«Программная Инженерия»
[email protected]
Сатыбалдиева Р.Ж.

2.

Содержание
• Начальное изучение данных
• Пакеты Python для обработки и анализа данных
• Импорт и экспорт данных в Python
Сатыбалдиева Р.Ж.

3.

• Набор данных, или набор набор данных обычно находится
в формате CSV, который разделяет каждое из значений
запятыми, что делает его очень легко импортировать в
большинстве инструментов или приложений.
• Каждая строка представляет строку в наборе данных.
Начальное
изучение
данных
• Иногда первая строка является заголовком, который
содержит имя столбца для каждого из столбцов.
• Скачайте набор данных – data set по адресу
https://archive.ics.uci.edu/ml/datasets/automobile
(создатель Jeffrey C. Schlimmer)
Сатыбалдиева Р.Ж.

4.

Пакеты Python для обработки и анализа
данных
• Библиотека Python представляет собой набор функций и методов,
которые позволяют выполнять множество действий без
написания кода
• Библиотеки обычно содержат встроенные модули,
обеспечивающие различные функциональные возможности,
которые вы можете использовать напрямую.
Сатыбалдиева Р.Ж.

5.

Библиотеки Python для анализа данных
• Можно условно разделить библиотеки анализа данных Python на
три группы:
• научно вычислительные библиотеки;
• библиотеки для визуализации данных;
• алгоритмические библиотеки задач машинного обучения
Сатыбалдиева Р.Ж.

6.

Pandas
• Pandas предлагает структуру данных и инструменты для
эффективной обработки и анализа данных.
• Он предоставляет факты, доступ к структурированным
данным.
• Основным инструментом Pandas является двухмерная
таблица, состоящая из столбцов и строк меток, которые
называются фреймом данных.
• Он предназначен для обеспечения простой
функциональности индексации.
Сатыбалдиева Р.Ж.

7.

Библиотека NumPy
• использует массивы для своих
входов и выходов.
• Он может быть расширен на
объекты для матриц и с
незначительными изменениями
кодирования, разработчики
могут выполнять быструю
обработку массива.
Сатыбалдиева Р.Ж.

8.

SciPy
• включает функции для
• некоторых продвинутых
математических задач, а также
визуализацию данных.
Сатыбалдиева Р.Ж.

9.

Библиотеки позволяющие создавать
графики, диаграммы и карты
• Использование методов визуализации данных является лучшим
способом общения с другими.
• Пакет Matplotlib является самой известной библиотекой для
визуализации данных.
• Это отлично подходит для создания графиков и сюжетов.
• Графики также очень быстро настраиваются.
• Еще одной библиотекой визуализации высокого уровня является
Seaborn.
• Он основан на Matplotlib.
• Очень легко создавать различные сюжеты, такие как тепловые карты,
временные ряды и скрипки.
Сатыбалдиева Р.Ж.

10.

Алгоритмы
машинного
обучения
С помощью алгоритмов машинного обучения мы можем
разработать модель, используя наш набор данных и
получать прогнозы.
Алгоритмические библиотеки решают задачи машинного
обучения от базового до сложного.
Здесь мы представляем два пакета, библиотека Scikitlearn содержит инструменты статистического
моделирования, включая регрессию, классификацию,
кластеризацию и так далее.
Эта библиотека построена на NumPy, SciPy и Matplotib.
Statsmodels также является модулем Python, который
позволяет пользователям исследовать данные, оценивать
статистические модели и выполнять статистические тесты.
Сатыбалдиева Р.Ж.

11.

Сбор данных — это процесс загрузки и чтения данных в
блокнот из различных источников. Чтобы прочитать любые
данные с помощью пакета Python pandas, необходимо
учитывать два важных фактора: формат и путь к файлу.
Импорт и
экспорт
данных в
Python
Формат — это способ кодирования данных. Обычно мы
можем определить различные схемы кодирования, взглянув
на окончание имени файла. Некоторые распространенные
кодировки: CSV, JSON, XLSX, HDF и так далее.
С каждой точкой данных связано большое количество
свойств.
формат данных — CSV, что означает значения, разделенные
запятыми.
Сатыбалдиева Р.Ж.

12.

Импортирование CSV в Python
Import pandas as pd
url = “https://archive.ics.uci.edu/ml/machine-learningdatabases/autos/imports-85.data”
df = pd.read_csv(url)
Сатыбалдиева Р.Ж.

13.

Метод read_CSV
• В pandas метод read_CSV может считывать файлы со столбцами,
разделенными запятыми, во фрейм данных pandas.
• Чтение данных в pandas можно быстро выполнить в три строки.
• Сначала импортируйте pandas, затем определите переменную с
путем к файлу, а затем используйте метод read_CSV для импорта
данных.
• Однако read_CSV предполагает, что данные содержат заголовок.
• данные могут и не имеют заголовков столбцов.
• Тогда нужно указать read_CSV, чтобы не назначать заголовки,
установив для заголовка значение none.
Сатыбалдиева Р.Ж.

14.

Импортирование CSV без заголовка
import pandas as pd
url = “https://archive.ics.uci.edu/ml/machine-learning-databases/autos/imports85.data”
df = pd.read_csv(url, header = None)
• После прочтения набора данных рекомендуется взглянуть на фрейм данных,
чтобы получить лучшее представление и убедиться, что все произошло так,
как вы ожидали.
• Поскольку печать всего набора данных может занять слишком много
времени и ресурсов для экономии времени, мы можем просто использовать
dataframe.head для отображения первых n строк фрейма данных.
Сатыбалдиева Р.Ж.

15.

Печать кадра данных в Python
• печать всего набора данных может занять слишком много
времени – не рекомендуется для большого набора данных
• df.head(n) выводит первые n строк набора данных
• df.tail(n) показывает нижние конечные n строк набора данных
Сатыбалдиева Р.Ж.

16.

dataframe.tail
• dataframe.tail показывает нижние конечные
строки фрейма данных. Здесь мы распечатали
первые пять строк данных. Похоже, набор
данных был успешно прочитан.
• Мы можем видеть, что pandas автоматически
устанавливает заголовок столбца как список
целых чисел, потому что мы устанавливаем
заголовок равным none при чтении данных.
• Трудно работать с фреймом данных, не имея
осмысленных имен столбцов.
• Однако мы можем назначать имена столбцов
в pandas. В случае если оказалось, что есть
имена столбцов в отдельном файле онлайн,
сначала необходимо поместить имена
столбцов в список, называемый заголовками,
затем мы устанавливаем df.columns равные
заголовки, чтобы заменить целочисленные
заголовки по умолчанию списком.
Сатыбалдиева Р.Ж.

17.

Метод head
• метод head, выводит заголовки
• метод to_CSV позволяет экспортировать свой фрейм данных
pandas в новый файл CSV.
• Для этого укажите путь к файлу, который включает имя файла, в
который вы хотите записать. Например, если вы хотите сохранить
кадр данных df как automobile.CSV на свой компьютер, вы можете
использовать синтаксис df.to_CSV.
Сатыбалдиева Р.Ж.

18.

Добавить заголовок - Метод head
• заменить заголовок по умолчанию (на df.columns = headers)
Сатыбалдиева Р.Ж.

19.

Экспортировать набор данных Pandas в CVS
• сохранить прогресс в любое время, сохранив измененный набор
данных, используя
• path = ”C:/Windows/…./automobile.csv"
• df.to_csv(path)
Сатыбалдиева Р.Ж.

20.

Экспортирование различных форматов в
Pandas
• В этом курсе мы будем читать и сохранять только файлы CSV.
• pandas также поддерживает импорт и экспорт с различными
форматами наборов данных.
• Синтаксис кода для чтения и сохранения других форматов
данных очень похож на чтение или сохранение файла CSV.
Формат данных
Чтение
Сохранение
csv
pd.read_csv()
df.to_csv()
json
pd.read_json()
df.to_json()
Excel
pd.read_excel()
df.to_excel()
sql
pd.read_sql()
df.to_sql()
Сатыбалдиева Р.Ж.

21.

Типы данных
• Pandas имеет несколько встроенных методов, которые можно
использовать для понимания типа данных или функций или
для просмотра распределения данных внутри набора данных.
• Используя эти методы, дает обзор набора данных, а также
указывает на возможные проблемы, такие как неверный тип
данных функций, которые могут потребоваться решить позже.
• Данные имеют различные типы.
• Основными типами, хранящимися в объектах Pandas, являются
объект, float, Int и datetime.
Сатыбалдиева Р.Ж.

22.

Типы данных
• Хотя тип datetime Pandas, является очень полезным типом для обработки
данных временных рядов.
• Есть две причины для проверки типов данных в наборе данных.
• Pandas автоматически назначает типы на основе кодировке, которую он
обнаруживает из исходной таблицы данных.
• По ряду причин это назначение может быть неправильным.
Сатыбалдиева Р.Ж.

23.

Ограничения к данным
• Например, должно быть неловко, если столбец цены автомобиля,
который будет содержать непрерывные числовые
числа, присваивается тип данных объекта. Было бы более
естественным для него иметь тип float.
• Вторая причина заключается в том, что он позволяет опытным
ученым по данным увидеть, какие функции Python могут быть
применены к определенному столбцу.
• Например, некоторые математические функции могут быть
применены только к числовым данным.
Сатыбалдиева Р.Ж.

24.

Метод описания
• Чтобы получить быструю статистику, мы используем метод описания.
• Он возвращает количество терминов в столбце как количество,
среднее значение столбца как среднее, стандартное отклонение
столбца как стандартное значение, максимальные минимальные
значения, а также границу каждого из квартилей.
• По умолчанию функции dataframe.describe пропускают строки и
столбцы, не содержащие чисел.
• Можно заставить метод описания работать и для столбцов типа
объекта. Чтобы включить сводку по всем столбцам, мы могли бы
добавить аргумент. include = all внутри скобки описания функции.
Теперь результат показывает сводку по всем 26 столбцам, включая
атрибуты объектного типа.
Сатыбалдиева Р.Ж.

25.

df.describe(include="all")
Сатыбалдиева Р.Ж.

26.

Для столбцов типа объекта
• для столбцов типа объекта вычисляется другой набор статистики, как
уникальный, верхний и частотный
• Unique - это количество различных объектов в столбце.
• Top является наиболее часто встречающимся объектом, и freq - количество
раз, когда верхний объект появляется в столбце.
• Некоторые значения в таблице показаны здесь как NaN, что означает не
число.
• Это связано с тем, что эта конкретная статистическая метрика не может быть
рассчитана для данного типа данных столбца.
• Другой метод, который вы можете использовать для проверки набора
данных, - это функция dataframe.info.
• Эта функция показывает верхние 30 строк и нижние 30 строк фрейма
данных.
Сатыбалдиева Р.Ж.

27.

Доступ к базам
данных с
использованием
Python
• Так обычный пользователь обращается к базам
данных с помощью кода Python, написанного на
блокноте Jupyter, веб-редакторе.
• Существует механизм, с помощью которого
программа Python взаимодействует с СУБД.
• Код Python подключается к базе данных с
помощью вызовов API.
Сатыбалдиева Р.Ж.

28.

SQL API
• Интерфейс прикладного программирования представляет собой набор функций, которые
можно вызвать для получения доступа к некоторым типам серверов.
• SQL API состоит из вызовов библиотечных функций в качестве интерфейса прикладного
программирования, API, для СУБД.
• Чтобы передать SQL-инструкции в СУБД, прикладная программа вызывает функции в API,
и вызывает другие функции для получения результатов запроса и информации о состоянии
из СУБД.
• Основная операция типичного SQL API проиллюстрирована на следующем слайде.
• Программа приложения начинает доступ к базе данных одним или несколькими вызовами
API, которые подключают программу к СУБД.
• Чтобы отправить инструкцию SQL в СУБД, программа строит инструкцию в виде текстовой
строки в буфере, а затем выполняет вызов API для передачи содержимого буфера в СУБД.
• Приложенная программа делает вызовы API для проверки состояния запроса СУБД и для
обработки ошибок
Сатыбалдиева Р.Ж.

29.

Как работает SQL API
• программа приложения завершает доступ к базе данных вызовом API,
который отключает его от базы данных.
Сатыбалдиева Р.Ж.

30.

DB-API
• DB-API является стандартным API Python для доступа к
реляционным базам данных.
• Это стандарт, который позволяет писать одну программу, которая
работает с несколькими видами реляционных баз данных вместо
того, чтобы писать отдельную программу для каждой из них.
• Итак, если вы изучите функции DB-API, то вы можете применить
эти знания для использования любой базы данных с Python.
Сатыбалдиева Р.Ж.

31.

Объекты соединения и объекты курсора.
• Двумя основными понятиями в Python DB-API являются объекты
соединения и объекты запросов.
• Объекты подключения используются для подключения к базе данных
и управления транзакциями.
• Объекты курсора используются для выполнения запросов.
• Вы открываете объект курсора, а затем запускаете запросы.
• Курсор работает подобно курсору в системе обработки текста, где вы
прокручиваете в результирующем наборе и получаете ваши данные в
приложение.
• Курсоры используются для сканирования результатов базы данных.
Сатыбалдиева Р.Ж.

32.

Методы, используемые с объектами
соединения
• Метод cursor () возвращает новый объект курсора, используя
соединение.
• Метод commit () используется для фиксации любой ожидающей
транзакции в базе данных.
• Метод rollback () приводит к откату базы данных к началу любой
ожидающей транзакции.
• Метод close () используется для закрытия соединения с базой
данных.
Сатыбалдиева Р.Ж.

33.

Алгоритм применения DB-API для запроса
базы данных.
• Сначала вы импортируете свой модуль базы данных с помощью API подключения
из этого модуля.
• Чтобы открыть подключение к базе данных, вы используете функцию подключения
и передаете параметры, которые являются именем базы данных, именем
пользователя и паролем.
• Функция connect возвращает объект соединения.
• После этого вы создаете объект курсора на объекте соединения.
• Курсор используется для выполнения запросов и получения результатов.
• После выполнения запросов с помощью курсора, мы также используем курсор для
получения результатов запроса.
• Наконец, когда система завершит выполнение запросов, она освобождает все
ресурсы, закрыв соединение.
• Помните, что всегда важно закрывать соединения, чтобы избежать неиспользуемых
соединений, занимающих ресурсы.
Сатыбалдиева Р.Ж.

34.

Приме
нение
DB-API
для
запрос
а базы
данных
.
Сатыбалдиева Р.Ж.

35.

Заключение
• В данной лекции рассмотрены вопроса импортирования и
соединения наборов данных в Python
Сатыбалдиева Р.Ж.
English     Русский Правила