Часть 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