Часть 4: Очистка с помощью циклов for

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

Мы можем распечатать его с помощью этого кода, чтобы увидеть, какие столбцы добавлены в наш список в data_type_cat_col.

$ print(f"Columns with categorical entries: {',' .join(data_type_cat_col)}.")

Вещи, которые вы должны знать о приведенном выше коде:

Во-первых, это оператор печати; следовательно, он напечатает что-то на нашей консоли, на экране нашего компьютера. Во-вторых, мы модифицируем оператор печати, используя ключ «f» перед открывающей скобкой. Это указывает на то, что у нас будет какой-то форматированный вывод. В нашем случае мы печатаем слова «Столбцы с категориальными записями:», а затем добавляем наш форматированный вывод, который включает разделение элементов в нашем списке запятой перед их печатью в виде одной строки на экране нашего компьютера. Можете ли вы придумать необычные способы использования метода соединения при форматировании вашей строки?

Теперь давайте перейдем к главному элементу сегодняшней статьи — циклу for.

for col in data_type_cat_col:
    if df[col].duplicated().any() == True:
        print(f'{col} column contains duplicates.')
    else:
        print(f'{col} column has no duplicates.')

Как работает наш цикл for?

Мы представляем элемент в списке словом col. Таким образом, код выполняет итерацию по каждому элементу, независимо от того, какие инструкции находятся в цикле for. Мы используем операторы if и else для создания условий, которые должны выполняться в нашем фильтре.

Следовательно, 'for col in data_type_cat_col:' означает выполнение следующих инструкций для каждого элемента в нашем списке.

Следующая строка имеет отступ, так как она находится (обратите внимание на вложенные циклы) внутри цикла for. Он использует два метода для фильтрации дубликатов; дублированный метод и любой метод. Дублированный метод возвращает дубликаты, а любой метод возвращает True, если дубликаты получены. Следовательно, если дубликаты найдены с помощью дублированного метода, он возвращает True, тогда оператор эквивалентен True, и мы печатаем следующую информацию. Однако, если метод any возвращает False, он не будет идентичен True, и наш оператор else начинает работать. Итак, в этом коде наш оператор else просто выводит форматированное сообщение, которое позволяет нам узнать, в каких столбцах нет дубликатов.

Когда мы запускаем этот код, мы получаем;

name column contains duplicates.
author column contains duplicates.
genre column contains duplicates.

Следовательно, все наши категориальные столбцы имеют дубликаты, которые необходимо очистить перед дальнейшим анализом.

Приближается:

Часть 5: Когда нечеткий встречает wuzzy