Метод normalize
Метод normalize применяется к текстовой колонке Series
и возвращает новую серию со строками, приведенными к заданной
нормализованной форме Unicode. Первым параметром передается
форма нормализации: 'NFC', 'NFKC',
'NFD' или 'NFKD'. Если серия содержит пропуски
(NaN), они остаются без изменений.
Синтаксис
ser.str.normalize(form)
Пример
Давайте нормализуем строки с символами в форме NFC (каноническая композиция):
import pandas as pd
ser = pd.Series(['café', 'façade', 'résumé'])
res = ser.str.normalize('NFC')
print(res)
Результат выполнения кода:
0 café
1 façade
2 résumé
dtype: object
Пример
А теперь нормализуем строки в форме NFD (каноническая декомпозиция). В этой форме символы с диакритикой разбиваются на базовые символы и отдельные диакритические знаки:
import pandas as pd
ser = pd.Series(['café', 'façade', 'résumé'])
res = ser.str.normalize('NFD')
print(res)
Результат выполнения кода:
0 café
1 façade
2 resumé
dtype: object
Пример
Если в серии есть пропуски (NaN), метод normalize оставляет их без изменений:
import pandas as pd
import numpy as np
ser = pd.Series(['café', np.nan, 'résumé'])
res = ser.str.normalize('NFKC')
print(res)
Результат выполнения кода:
0 café
1 NaN
2 résumé
dtype: object
Пример
Используем форму NFKC (совместимость + каноническая композиция) для приведения строк, содержащих специальные символы, к стандартному виду:
import pandas as pd
ser = pd.Series(['fi', 'fl', 'ffi', 'ffl'])
res = ser.str.normalize('NFKC')
print(res)
Результат выполнения кода:
0 fi
1 fl
2 ffi
3 ffl
dtype: object