@@ -925,6 +925,26 @@ def test_center_ljust_rjust_fillchar(self):
925925 with tm .assertRaisesRegexp (TypeError , "fillchar must be a character, not int" ):
926926 result = values .str .rjust (5 , fillchar = 1 )
927927
928+ def test_zfill (self ):
929+ values = Series (['1' , '22' , 'aaa' , '333' , '45678' ])
930+
931+ result = values .str .zfill (5 )
932+ expected = Series (['00001' , '00022' , '00aaa' , '00333' , '45678' ])
933+ tm .assert_series_equal (result , expected )
934+ expected = np .array ([v .zfill (5 ) for v in values .values ])
935+ tm .assert_numpy_array_equal (result .values , expected )
936+
937+ result = values .str .zfill (3 )
938+ expected = Series (['001' , '022' , 'aaa' , '333' , '45678' ])
939+ tm .assert_series_equal (result , expected )
940+ expected = np .array ([v .zfill (3 ) for v in values .values ])
941+ tm .assert_numpy_array_equal (result .values , expected )
942+
943+ values = Series (['1' , np .nan , 'aaa' , np .nan , '45678' ])
944+ result = values .str .zfill (5 )
945+ expected = Series (['00001' , np .nan , '00aaa' , np .nan , '45678' ])
946+ tm .assert_series_equal (result , expected )
947+
928948 def test_split (self ):
929949 values = Series (['a_b_c' , 'c_d_e' , NA , 'f_g_h' ])
930950
0 commit comments