Previous topic


Next topic



numpy.char.array(obj, itemsize=None, copy=True, unicode=None, order=None)

Create a chararray.


This class is provided for numarray backward-compatibility. New code (not concerned with numarray compatibility) should use arrays of type string_ or unicode_ and use the free functions in numpy.char for fast vectorized string operations instead.

Versus a regular NumPy array of type str or unicode, this class adds the following functionality:

  1. values automatically have whitespace removed from the end when indexed

  2. comparison operators automatically remove whitespace from the end when comparing values

  3. vectorized string operations are provided as methods (e.g. str.endswith) and infix operators (e.g. +, *, %)

objarray of str or unicode-like
itemsizeint, optional

itemsize is the number of characters per scalar in the resulting array. If itemsize is None, and obj is an object array or a Python list, the itemsize will be automatically determined. If itemsize is provided and obj is of type str or unicode, then the obj string will be chunked into itemsize pieces.

copybool, optional

If true (default), then the object is copied. Otherwise, a copy will only be made if __array__ returns a copy, if obj is a nested sequence, or if a copy is needed to satisfy any of the other requirements (itemsize, unicode, order, etc.).

unicodebool, optional

When true, the resulting chararray can contain Unicode characters, when false only 8-bit characters. If unicode is None and obj is one of the following:

  • a chararray,

  • an ndarray of type str or unicode

  • a Python str or unicode object,

then the unicode setting of the output array will be automatically determined.

order{‘C’, ‘F’, ‘A’}, optional

Specify the order of the array. If order is ‘C’ (default), then the array will be in C-contiguous order (last-index varies the fastest). If order is ‘F’, then the returned array will be in Fortran-contiguous order (first-index varies the fastest). If order is ‘A’, then the returned array may be in any order (either C-, Fortran-contiguous, or even discontiguous).