Рубрики
Без рубрики

Код Python для преобразования таблицы в Первую нормальную форму

Мы изучим код Python для преобразования таблицы в первую нормальную форму. Первая нормальная форма (1NF) относится к определенным отношениям в наборе данных.

Автор оригинала: Team Python Pool.

Python имеет тысячи модулей и библиотек, которые помогут вам работать с табличными данными. Эти наборы данных могут содержать множество различных способов представления данных. Прежде чем выводить какую-либо ценную информацию для таблиц, вам нужно применить некоторые фильтры и нормализации, чтобы понять. Существуют тысячи способов предварительной обработки и очистки ваших данных в python. Именно здесь в игру вступает нормализация (первая нормальная форма). В непрофессиональных терминах Первая нормальная форма (1NF) относится к определенным отношениям в наборе данных. Эти отношения гарантируют, что каждый домен в таблице имеет свой атрибут в разных строках. В этом посте мы будем использовать код Python для преобразования таблицы в Первую нормальную форму с помощью библиотеки pandas. Прежде чем перейти непосредственно к коду, давайте подробнее разберемся с первой нормальной формой и ее правилами.

Что такое Первая нормальная форма таблицы?

Нормализация-это метод, с помощью которого вы можете устранить повторение данных и улучшить читабельность набора данных. Каждый набор данных поставляется с мусорными значениями и нерелевантными записями. Нормализуя, мы создаем значимую запись из мусорной записи набора данных. Соответственно, Первая нормальная форма следует определенным правилам, чтобы исключить все повторяющиеся данные и разделить все записи, разделенные запятыми, на отдельные строки.

Первая нормальная форма поможет вам убедиться, что ваша таблица читается компьютером. Он также позволяет игнорировать множественность данных в таблице, чтобы сделать какие-либо выводы. Визуализация нормализованной таблицы имеет больше смысла, чем таблица по умолчанию.

Зачем нужны Первые Нормальные Формы?

Python широко используется для визуализации данных и создания моделей машинного обучения. Все эти модели основаны на вводе данных для получения желаемого результата. Во всем этом процессе есть раздел под названием “Предварительная обработка.” Кроме того, Предварительная обработка гарантирует, что ваши данные понятны компьютеру и имеют минимальный шум.

Нормализация-это метод предварительной обработки вашей таблицы/набора данных в понятный формат. Первая нормальная форма используется для уменьшения избыточности в наборе данных. Следовательно, если набор данных содержит многозначные записи/атрибуты, первая нормальная форма сведет его к отдельным записям.

Правила, которым следует следовать при создании Первой нормальной формы

Создание первой нормальной формы имеет определенные наборы правил, которым необходимо следовать. Эти правила таковы –

  1. Все атрибуты должны быть однозначными.
  2. Доменные имена не должны изменяться.
  3. Все атрибуты домена являются уникальными. Не должно быть повторяющихся атрибутов.
  4. При нарушении многозначных атрибутов порядок не имеет значения. Вы можете разместить любой атрибут в любом месте, если он уникален.

Код Python для преобразования таблицы в Первую нормальную форму

Рассмотрим следующую таблицу –

ИДЕНТИФИКАТОР Имя Предметы
0 Дэвид Английский, Математика
1 Гленн Математика
2 Стив Наука, английский язык

Стол

Приведенная выше таблица содержит многозначные атрибуты, поэтому она не находится в первой нормальной форме. Это первая нормальная форма будет –

ИДЕНТИФИКАТОР Имя Предмет
0 Дэвид Английский
0 Дэвид Математика
1 Гленн Математика
2 Стив Наука
2 Стив Английский

Форма 1NF

Пример: Код Python для преобразования таблицы в Первую нормальную форму

Теперь, когда мы знаем ожидаемый результат, вот код, который можно использовать для преобразования таблицы в первую нормальную форму –

import pandas as pd
import numpy as np
.DataFrame({'Name': ['David', 'Glenn', 'Steve'], 'Subjects': [
                  ['English', 'Math'], ['Math'], ['Science', 'English']]})
(map(len, df['Subjects'].values))
.DataFrame({'Name': np.repeat(
    df['Name'], lens), 'Subject': np.concatenate(df['Subjects'].values)})

print(res)

Выход

    Name  Subject
0  David  English
0  David     Math
1  Glenn     Math
2  Steve  Science
2  Steve  English

Объяснение

Начнем с импорта модулей Pandas и Numpy. Эти библиотеки имеют встроенные функции для разделения многозначных элементов и объединения их для создания нового набора данных. Далее в df мы создаем объект pandas Dataframe ненормализованной таблицы. Как вы можете заметить, у Дэвида есть два субъекта, разделенных запятыми в df (то же самое относится и к Стиву). В следующей строке мы вычисляем количество атрибутов, которые есть у каждого домена.

В нашем примере< strong>у Дэвида есть 2, у Гленна-1, а у Стива-2 Атрибута. Затем мы создаем новый фрейм данных с отдельными атрибутами для всех значений домена. Для этого мы будем использовать numpy repeat и numpy concatenate. Обе эти функции создают несколько строк, а затем соединяют (объединяют) их со своими атрибутами. Затем мы делаем print(res) для проверки нормализованной таблицы.

Поскольку вывод следует всем основным правилам первой нормальной формы, то есть нет многозначного атрибута, то же самое href=”https://en.wikipedia.org/wiki/Domain_name”>доменные имена и уникальные атрибуты. Мы можем с уверенностью проверить, что таблица находится в первой нормальной форме. href=”https://en.wikipedia.org/wiki/Domain_name”>доменные имена и уникальные атрибуты. Мы можем с уверенностью проверить, что таблица находится в первой нормальной форме.

Реальные приложения преобразования таблицы в Первую нормальную форму

Давайте рассмотрим таблицу, которую мы создали в вышеприведенном разделе для субъектов. Предположим, в какой-то момент Дэвид хочет добавить науку в свои предметы, школа должна отредактировать весь многозначный атрибут. Но в первом нормальном классе школа просто должна добавить строку nMustew с его именем и предметом. Так гораздо проще обрабатывать данные.

Другим примером может быть то, что Дэвид хочет уйти от своего математического предмета? Для этого школе придется отредактировать весь атрибут. Но если данные находятся в первой нормальной форме, школа удалит строку, где имя человека-Дэвид, а предмет – Математика. Все эти операции намного проще в первой нормальной форме, и вы можете легко получить соответствующие данные.

Кроме того, вы можете выполнить поиск в Первой нормальной форме таблицы легче, чем в многозначной форме.

Должен Читать

  • Таблица Matplotlib в Python С примерами
  • Как отображать изображения с помощью функции Matplotlib Imshow
  • Numpy Mean: Реализация и важность
  • Демистификация Ошибки Атрибута Python С Примерами

Вывод: Код Python для преобразования таблицы в Первую нормальную форму

Подводя итог, можно сказать, что обработка и управление наборами данных/таблицами стали важной частью нашей жизни. Каждое программное обеспечение имеет набор наборов данных SQL или аналогичных структур для хранения значений данных. Первая нормальная форма поможет вам легко понять данные, и вы сможете легко интерпретировать различные результаты. Кроме того, вы можете легко добавлять, удалять, искать данные в нормализованной форме. Все эти методы необходимы для сокращения вычислительной работы и сокращения количества используемых ресурсов.