Skip to main content
`Ctrl`+`K`

# numpy.char.center

char.center(a, width, fillchar=' ')

  Return a copy of a with its elements centered in a string of length width.

  Parameters:
    a array-like, with `StringDType`, `bytes_`, or `str_` dtype
    width array_like, with any integer dtype

      The length of the resulting strings, unless `width < str_len(a)`.

    fillchar array-like, with `StringDType`, `bytes_`, or `str_` dtype

      Optional padding character to use (default is space).

  Returns:
    out ndarray

      Output array of `StringDType`, `bytes_` or `str_` dtype, depending on input types

  See also

  `str.center`

  Notes

  While it is possible for `a` and `fillchar` to have different dtypes, passing a non-ASCII character in `fillchar` when `a` is of dtype “S” is not allowed, and a `ValueError` is raised.

  Examples

      >>> import numpy as np
      >>> c = np.array(['a1b2','1b2a','b2a1','2a1b']); c
      array(['a1b2', '1b2a', 'b2a1', '2a1b'], dtype='<U4')
      >>> np.strings.center(c, width=9)
      array(['   a1b2  ', '   1b2a  ', '   b2a1  ', '   2a1b  '], dtype='<U9')
      >>> np.strings.center(c, width=9, fillchar='*')
      array(['***a1b2**', '***1b2a**', '***b2a1**', '***2a1b**'], dtype='<U9')
      >>> np.strings.center(c, width=1)
      array(['a1b2', '1b2a', 'b2a1', '2a1b'], dtype='<U4')