Дубликаты, .duplicated(), .drop_duplicates(), value_counts()

Для избавления от полных дубликатов duplicated() и drop_duplicates()
1) duplicated()
df.duplicated().sum()
возвращает количество дубликатов

df['col'].duplicated().sum()
возвращает количество дубликатов в столбце col

2) .value_counts()
анализирует столбец, выбирает каждое уникальное значение и подсчитывает частоту его встречаемости в списке
df['col'].value_counts()
Покажет все уникальные значения в столбце "col", а также, сколько раз встречается каждое из них.

3) Для удаления дубликатов в столбце
df['col'] = df['col'].drop_duplicates()
(вместо них остаются NaN)

4)Удаление дубликатов и настройка индексов
df = df.drop_duplicates().reset_index(drop=True)

5) Проверка наличия дубликата столбца и его удаление
df[df['col_dubl'] != df['col']]
df.drop(['col'], axis=1, inplace=True)

О ручной замене https://data-scientists.ru/node/39
Также можно использовать предварительно df.str.lower() для перевода в нижний регистр

Язык и производные: