Series.str.
zfill
Pad strings in the Series/Index by prepending ‘0’ characters.
Strings in the Series/Index are padded with ‘0’ characters on the left of the string to reach a total string length width. Strings in the Series/Index with length greater or equal to width are unchanged.
Minimum length of resulting string; strings with length less than width be prepended with ‘0’ characters.
See also
Series.str.rjust
Fills the left side of strings with an arbitrary character.
Series.str.ljust
Fills the right side of strings with an arbitrary character.
Series.str.pad
Fills the specified sides of strings with an arbitrary character.
Series.str.center
Fills boths sides of strings with an arbitrary character.
Notes
Differs from str.zfill() which has special handling for ‘+’/’-‘ in the string.
str.zfill()
Examples
>>> s = pd.Series(['-1', '1', '1000', 10, np.nan]) >>> s 0 -1 1 1 2 1000 3 10 4 NaN dtype: object
Note that 10 and NaN are not strings, therefore they are converted to NaN. The minus sign in '-1' is treated as a regular character and the zero is added to the left of it (str.zfill() would have moved it to the left). 1000 remains unchanged as it is longer than width.
10
NaN
'-1'
1000
>>> s.str.zfill(3) 0 0-1 1 001 2 1000 3 NaN 4 NaN dtype: object