Метод zfill
Метод zfill применяется к строковой колонке через аксессор str
и дополняет каждую строку нулями слева до указанной ширины.
Если строка уже имеет длину, равную или большую заданной ширины,
она возвращается без изменений. В качестве единственного параметра
передаётся целое число - минимальная итоговая длина строки.
Синтаксис
ser.str.zfill(width)
Пример
Давайте дополним строки в колонке нулями до ширины 5 символов:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user'])
res = ser.str.zfill(5)
print(res)
Результат выполнения кода:
0 abcde
1 article
2 user
dtype: object
Обратите внимание: строка 'abcde' уже имеет длину 5, поэтому
она осталась без изменений, а строка 'user' дополнена одним нулём.
Пример
Теперь зададим ширину 10 символов для всех строк:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user'])
res = ser.str.zfill(10)
print(res)
Результат выполнения кода:
0 00000abcde
1 000article
2 000000user
dtype: object
Пример
Метод zfill особенно полезен для работы с числовыми кодами
и идентификаторами, которые нужно привести к единому формату.
Рассмотрим пример с серией строк, представляющих коды:
import pandas as pd
ser = pd.Series(['1', '23', '456', '7890'])
res = ser.str.zfill(6)
print(res)
Результат выполнения кода:
0 000001
1 000023
2 000456
3 007890
dtype: object
Пример
Метод zfill корректно обрабатывает строки с ведущими знаками
плюса и минуса. Знак переносится в начало, а нули добавляются после него:
import pandas as pd
ser = pd.Series(['+123', '-456', '789'])
res = ser.str.zfill(6)
print(res)
Результат выполнения кода:
0 +00123
1 -00456
2 000789
dtype: object