module documentation

This module contains a set of functions for vectorized string operations and methods.

Note

The chararray class exists for backwards compatibility with Numarray, it is not recommended for new development. Starting from numpy 1.4, if one needs arrays of strings, it is recommended to use arrays of dtype object_, string_ or unicode_, and use the free functions in the numpy.char module for fast vectorized string operations.

Some methods will only be available if the corresponding string method is available in your version of Python.

The preferred alias for defchararray is numpy.char.

Class chararray strides=None, order=None)
Function add Return element-wise string concatenation for two arrays of str or unicode.
Function array Create a chararray.
Function asarray Convert the input to a chararray, copying the data only if necessary.
Function capitalize Return a copy of a with only the first character of each element capitalized.
Function center Return a copy of a with its elements centered in a string of length width.
Function count Returns an array with the number of non-overlapping occurrences of substring sub in the range [start, end].
Function decode Calls bytes.decode element-wise.
Function encode Calls str.encode element-wise.
Function endswith Returns a boolean array which is True where the string element in a ends with suffix, otherwise False.
Function equal Return (x1 == x2) element-wise.
Function expandtabs Return a copy of each string element where all tab characters are replaced by one or more spaces.
Function find For each element, return the lowest index in the string where substring sub is found.
Function greater Return (x1 > x2) element-wise.
Function greater_equal Return (x1 >= x2) element-wise.
Function index Like find, but raises ValueError when the substring is not found.
Function isalnum Returns true for each element if all characters in the string are alphanumeric and there is at least one character, false otherwise.
Function isalpha Returns true for each element if all characters in the string are alphabetic and there is at least one character, false otherwise.
Function isdecimal For each element, return True if there are only decimal characters in the element.
Function isdigit Returns true for each element if all characters in the string are digits and there is at least one character, false otherwise.
Function islower Returns true for each element if all cased characters in the string are lowercase and there is at least one cased character, false otherwise.
Function isnumeric For each element, return True if there are only numeric characters in the element.
Function isspace Returns true for each element if there are only whitespace characters in the string and there is at least one character, false otherwise.
Function istitle Returns true for each element if the element is a titlecased string and there is at least one character, false otherwise.
Function isupper Return true for each element if all cased characters in the string are uppercase and there is at least one character, false otherwise.
Function join Return a string which is the concatenation of the strings in the sequence seq.
Function less Return (x1 < x2) element-wise.
Function less_equal Return (x1 <= x2) element-wise.
Function ljust Return an array with the elements of a left-justified in a string of length width.
Function lower Return an array with the elements converted to lowercase.
Function lstrip For each element in a, return a copy with the leading characters removed.
Function mod Return (a % i), that is pre-Python 2.6 string formatting (interpolation), element-wise for a pair of array_likes of str or unicode.
Function multiply Return (a * i), that is string multiple concatenation, element-wise.
Function not_equal Return (x1 != x2) element-wise.
Function partition Partition each element in a around sep.
Function replace For each element in a, return a copy of the string with all occurrences of substring old replaced by new.
Function rfind For each element in a, return the highest index in the string where substring sub is found, such that sub is contained within [start, end].
Function rindex Like rfind, but raises ValueError when the substring sub is not found.
Function rjust Return an array with the elements of a right-justified in a string of length width.
Function rpartition Partition (split) each element around the right-most separator.
Function rsplit For each element in a, return a list of the words in the string, using sep as the delimiter string.
Function rstrip For each element in a, return a copy with the trailing characters removed.
Function split For each element in a, return a list of the words in the string, using sep as the delimiter string.
Function splitlines For each element in a, return a list of the lines in the element, breaking at line boundaries.
Function startswith Returns a boolean array which is True where the string element in a starts with prefix, otherwise False.
Function str_len Return len(a) element-wise.
Function strip For each element in a, return a copy with the leading and trailing characters removed.
Function swapcase Return element-wise a copy of the string with uppercase characters converted to lowercase and vice versa.
Function title Return element-wise title cased version of string or unicode.
Function translate For each element in a, return a copy of the string where all characters occurring in the optional argument deletechars are removed, and the remaining characters have been mapped through the given translation table.
Function upper Return an array with the elements converted to uppercase.
Function zfill Return the numeric string left-filled with zeros
Variable array_function_dispatch Undocumented
Function _binary_op_dispatcher Undocumented
Function _center_dispatcher Undocumented
Function _clean_args Helper function for delegating arguments to Python string functions.
Function _code_dispatcher Undocumented
Function _count_dispatcher Undocumented
Function _endswith_dispatcher Undocumented
Function _expandtabs_dispatcher Undocumented
Function _get_num_chars Helper function that returns the number of characters per field in a string or unicode array. This is to abstract out the fact that for a unicode array this is itemsize / 4.
Function _join_dispatcher Undocumented
Function _just_dispatcher Undocumented
Function _mod_dispatcher Undocumented
Function _multiply_dispatcher Undocumented
Function _partition_dispatcher Undocumented
Function _replace_dispatcher Undocumented
Function _split_dispatcher Undocumented
Function _splitlines_dispatcher Undocumented
Function _startswith_dispatcher Undocumented
Function _strip_dispatcher Undocumented
Function _to_string_or_unicode_array Helper function to cast a result back into a string or unicode array if an object array must be used as an intermediary.
Function _translate_dispatcher Undocumented
Function _unary_op_dispatcher Undocumented
Function _use_unicode Helper function for determining the output type of some string operations.
Function _zfill_dispatcher Undocumented
Variable _globalvar Undocumented

Return element-wise string concatenation for two arrays of str or unicode.

Arrays x1 and x2 must have the same shape.

Parameters
x1:array_like of str or unicodeInput array.
x2:array_like of str or unicodeInput array.
Returns
ndarrayadd - Output array of string_ or unicode_, depending on input types of the same shape as x1 and x2.
@set_module('numpy.char')
def array(obj, itemsize=None, copy=True, unicode=None, order=None): (source)

Create a chararray.

Note

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. +, *, %)
Parameters
obj:array of str or unicode-like
itemsize:int, optionalitemsize 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.
copy:bool, optionalIf 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.).
unicode:bool, 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:

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

order:{'C', 'F', 'A'}, optionalSpecify 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).
@set_module('numpy.char')
def asarray(obj, itemsize=None, unicode=None, order=None): (source)

Convert the input to a chararray, copying the data only if necessary.

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. +, *,``%``)
Parameters
obj:array of str or unicode-like
itemsize:int, optionalitemsize 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.
unicode:bool, 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'}, optionalSpecify 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).

Return a copy of a with only the first character of each element capitalized.

Calls str.capitalize element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.capitalize

Examples

>>> c = np.array(['a1b2','1b2a','b2a1','2a1b'],'S4'); c
array(['a1b2', '1b2a', 'b2a1', '2a1b'],
    dtype='|S4')
>>> np.char.capitalize(c)
array(['A1b2', '1b2a', 'B2a1', '2a1b'],
    dtype='|S4')
Parameters
a:array_like of str or unicodeInput array of strings to capitalize.
Returns
ndarrayout - Output array of str or unicode, depending on input types
@array_function_dispatch(_center_dispatcher)
def center(a, width, fillchar=' '): (source)

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

Calls str.center element-wise.

See Also

str.center

Notes

This function is intended to work with arrays of strings. The fill character is not applied to numeric types.

Examples

>>> c = np.array(['a1b2','1b2a','b2a1','2a1b']); c
array(['a1b2', '1b2a', 'b2a1', '2a1b'], dtype='<U4')
>>> np.char.center(c, width=9)
array(['   a1b2  ', '   1b2a  ', '   b2a1  ', '   2a1b  '], dtype='<U9')
>>> np.char.center(c, width=9, fillchar='*')
array(['***a1b2**', '***1b2a**', '***b2a1**', '***2a1b**'], dtype='<U9')
>>> np.char.center(c, width=1)
array(['a', '1', 'b', '2'], dtype='<U1')
Parameters
a:array_like of str or unicode
width:intThe length of the resulting strings
fillchar:str or unicode, optionalThe padding character to use (default is space).
Returns
ndarrayout - Output array of str or unicode, depending on input types

Returns an array with the number of non-overlapping occurrences of substring sub in the range [start, end].

Calls str.count element-wise.

See Also

str.count

Examples

>>> c = np.array(['aAaAaA', '  aA  ', 'abBABba'])
>>> c
array(['aAaAaA', '  aA  ', 'abBABba'], dtype='<U7')
>>> np.char.count(c, 'A')
array([3, 1, 1])
>>> np.char.count(c, 'aA')
array([3, 1, 0])
>>> np.char.count(c, 'A', start=1, end=4)
array([2, 1, 1])
>>> np.char.count(c, 'A', start=1, end=3)
array([1, 0, 0])
Parameters
a:array_like of str or unicode
sub:str or unicodeThe substring to search for.
start:int, optionalOptional arguments start and end are interpreted as slice notation to specify the range in which to count.
end:int, optionalOptional arguments start and end are interpreted as slice notation to specify the range in which to count.
Returns
ndarrayout - Output array of ints.

Calls bytes.decode element-wise.

The set of available codecs comes from the Python standard library, and may be extended at runtime. For more information, see the codecs module.

See Also

bytes.decode

Notes

The type of the result will depend on the encoding specified.

Examples

>>> c = np.array([b'\x81\xc1\x81\xc1\x81\xc1', b'@@\x81\xc1@@',
...               b'\x81\x82\xc2\xc1\xc2\x82\x81'])
>>> c
array([b'\x81\xc1\x81\xc1\x81\xc1', b'@@\x81\xc1@@',
...    b'\x81\x82\xc2\xc1\xc2\x82\x81'], dtype='|S7')
>>> np.char.decode(c, encoding='cp037')
array(['aAaAaA', '  aA  ', 'abBABba'], dtype='<U7')
Parameters
a:array_like of str or unicode
encoding:str, optionalThe name of an encoding
errors:str, optionalSpecifies how to handle encoding errors
Returns
ndarrayout

Calls str.encode element-wise.

The set of available codecs comes from the Python standard library, and may be extended at runtime. For more information, see the codecs module.

See Also

str.encode

Notes

The type of the result will depend on the encoding specified.

Parameters
a:array_like of str or unicode
encoding:str, optionalThe name of an encoding
errors:str, optionalSpecifies how to handle encoding errors
Returns
ndarrayout
@array_function_dispatch(_endswith_dispatcher)
def endswith(a, suffix, start=0, end=None): (source)

Returns a boolean array which is True where the string element in a ends with suffix, otherwise False.

Calls str.endswith element-wise.

See Also

str.endswith

Examples

>>> s = np.array(['foo', 'bar'])
>>> s[0] = 'foo'
>>> s[1] = 'bar'
>>> s
array(['foo', 'bar'], dtype='<U3')
>>> np.char.endswith(s, 'ar')
array([False,  True])
>>> np.char.endswith(s, 'a', start=1, end=2)
array([False,  True])
Parameters
a:array_like of str or unicode
suffix:str
start:int, optionalWith optional start, test beginning at that position. With optional end, stop comparing at that position.
end:int, optionalWith optional start, test beginning at that position. With optional end, stop comparing at that position.
Returns
ndarrayout - Outputs an array of bools.

Return (x1 == x2) element-wise.

Unlike numpy.equal, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.

Return a copy of each string element where all tab characters are replaced by one or more spaces.

Calls str.expandtabs element-wise.

Return a copy of each string element where all tab characters are replaced by one or more spaces, depending on the current column and the given tabsize. The column number is reset to zero after each newline occurring in the string. This doesn't understand other non-printing characters or escape sequences.

See Also

str.expandtabs

Parameters
a:array_like of str or unicodeInput array
tabsize:int, optionalReplace tabs with tabsize number of spaces. If not given defaults to 8 spaces.
Returns
ndarrayout - Output array of str or unicode, depending on input type

For each element, return the lowest index in the string where substring sub is found.

Calls str.find element-wise.

For each element, return the lowest index in the string where substring sub is found, such that sub is contained in the range [start, end].

See Also

str.find

Examples

>>> a = np.array(["NumPy is a Python library"])
>>> np.char.find(a, "Python", start=0, end=None)
array([11])
Parameters
a:array_like of str or unicode
sub:str or unicode
start:int, optionalOptional arguments start and end are interpreted as in slice notation.
end:int, optionalOptional arguments start and end are interpreted as in slice notation.
Returns
ndarray or intout - Output array of ints. Returns -1 if sub is not found.

Return (x1 > x2) element-wise.

Unlike numpy.greater, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.

Return (x1 >= x2) element-wise.

Unlike numpy.greater_equal, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.

Like find, but raises ValueError when the substring is not found.

Calls str.index element-wise.

See Also

find, str.find

Examples

>>> a = np.array(["Computer Science"])
>>> np.char.index(a, "Science", start=0, end=None)
array([9])
Parameters
a:array_like of str or unicode
sub:str or unicode
start:int, optional
end:int, optional
Returns
ndarrayout - Output array of ints. Returns -1 if sub is not found.

Returns true for each element if all characters in the string are alphanumeric and there is at least one character, false otherwise.

Calls str.isalnum element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.isalnum

Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of str or unicode, depending on input type

Returns true for each element if all characters in the string are alphabetic and there is at least one character, false otherwise.

Calls str.isalpha element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.isalpha

Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

For each element, return True if there are only decimal characters in the element.

Calls unicode.isdecimal element-wise.

Decimal characters include digit characters, and all characters that can be used to form decimal-radix numbers, e.g. U+0660, ARABIC-INDIC DIGIT ZERO.

Examples

>>> np.char.isdecimal(['12345', '4.99', '123ABC', ''])
array([ True, False, False, False])
Parameters
a:array_like, unicodeInput array.
Returns
ndarray, boolout - Array of booleans identical in shape to a.

Returns true for each element if all characters in the string are digits and there is at least one character, false otherwise.

Calls str.isdigit element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.isdigit

Examples

>>> a = np.array(['a', 'b', '0'])
>>> np.char.isdigit(a)
array([False, False,  True])
>>> a = np.array([['a', 'b', '0'], ['c', '1', '2']])
>>> np.char.isdigit(a)
array([[False, False,  True], [False,  True,  True]])
Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

Returns true for each element if all cased characters in the string are lowercase and there is at least one cased character, false otherwise.

Calls str.islower element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.islower

Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

For each element, return True if there are only numeric characters in the element.

Calls unicode.isnumeric element-wise.

Numeric characters include digit characters, and all characters that have the Unicode numeric value property, e.g. U+2155, VULGAR FRACTION ONE FIFTH.

Examples

>>> np.char.isnumeric(['123', '123abc', '9.0', '1/4', 'VIII'])
array([ True, False, False, False, False])
Parameters
a:array_like, unicodeInput array.
Returns
ndarray, boolout - Array of booleans of same shape as a.

Returns true for each element if there are only whitespace characters in the string and there is at least one character, false otherwise.

Calls str.isspace element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.isspace

Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

Returns true for each element if the element is a titlecased string and there is at least one character, false otherwise.

Call str.istitle element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.istitle

Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

Return true for each element if all cased characters in the string are uppercase and there is at least one character, false otherwise.

Call str.isupper element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.isupper

Examples

>>> str = "GHC"
>>> np.char.isupper(str)
array(True)
>>> a = np.array(["hello", "HELLO", "Hello"])
>>> np.char.isupper(a)
array([False,  True, False])
Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of bools

Return a string which is the concatenation of the strings in the sequence seq.

Calls str.join element-wise.

See Also

str.join

Examples

>>> np.char.join('-', 'osd')
array('o-s-d', dtype='<U5')
>>> np.char.join(['-', '.'], ['ghc', 'osd'])
array(['g-h-c', 'o.s.d'], dtype='<U5')
Parameters
sep:array_like of str or unicode
seq:array_like of str or unicode
Returns
ndarrayout - Output array of str or unicode, depending on input types

Return (x1 < x2) element-wise.

Unlike numpy.greater, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.

Return (x1 <= x2) element-wise.

Unlike numpy.less_equal, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.
@array_function_dispatch(_just_dispatcher)
def ljust(a, width, fillchar=' '): (source)

Return an array with the elements of a left-justified in a string of length width.

Calls str.ljust element-wise.

See Also

str.ljust

Parameters
a:array_like of str or unicode
width:intThe length of the resulting strings
fillchar:str or unicode, optionalThe character to use for padding
Returns
ndarrayout - Output array of str or unicode, depending on input type

Return an array with the elements converted to lowercase.

Call str.lower element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.lower

Examples

>>> c = np.array(['A1B C', '1BCA', 'BCA1']); c
array(['A1B C', '1BCA', 'BCA1'], dtype='<U5')
>>> np.char.lower(c)
array(['a1b c', '1bca', 'bca1'], dtype='<U5')
Parameters
a:array_like, {str, unicode}Input array.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type

For each element in a, return a copy with the leading characters removed.

Calls str.lstrip element-wise.

See Also

str.lstrip

Examples

>>> c = np.array(['aAaAaA', '  aA  ', 'abBABba'])
>>> c
array(['aAaAaA', '  aA  ', 'abBABba'], dtype='<U7')

The 'a' variable is unstripped from c[1] because whitespace leading.

>>> np.char.lstrip(c, 'a')
array(['AaAaA', '  aA  ', 'bBABba'], dtype='<U7')
>>> np.char.lstrip(c, 'A') # leaves c unchanged
array(['aAaAaA', '  aA  ', 'abBABba'], dtype='<U7')
>>> (np.char.lstrip(c, ' ') == np.char.lstrip(c, '')).all()
... # XXX: is this a regression? This used to return True
... # np.char.lstrip(c,'') does not modify c at all.
False
>>> (np.char.lstrip(c, ' ') == np.char.lstrip(c, None)).all()
True
Parameters
a:array-like, {str, unicode}Input array.
chars:{str, unicode}, optionalThe chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a prefix; rather, all combinations of its values are stripped.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type

Return (a % i), that is pre-Python 2.6 string formatting (interpolation), element-wise for a pair of array_likes of str or unicode.

See Also

str.__mod__

Parameters
a:array_like of str or unicode
values:array_like of valuesThese values will be element-wise interpolated into the string.
Returns
ndarrayout - Output array of str or unicode, depending on input types

Return (a * i), that is string multiple concatenation, element-wise.

Values in i of less than 0 are treated as 0 (which yields an empty string).

Examples

>>> a = np.array(["a", "b", "c"])
>>> np.char.multiply(x, 3)
array(['aaa', 'bbb', 'ccc'], dtype='<U3')
>>> i = np.array([1, 2, 3])
>>> np.char.multiply(a, i)
array(['a', 'bb', 'ccc'], dtype='<U3')
>>> np.char.multiply(np.array(['a']), i)
array(['a', 'aa', 'aaa'], dtype='<U3')
>>> a = np.array(['a', 'b', 'c', 'd', 'e', 'f']).reshape((2, 3))
>>> np.char.multiply(a, 3)
array([['aaa', 'bbb', 'ccc'],
       ['ddd', 'eee', 'fff']], dtype='<U3')
>>> np.char.multiply(a, i)
array([['a', 'bb', 'ccc'],
       ['d', 'ee', 'fff']], dtype='<U3')
Parameters
a:array_like of str or unicode
i:array_like of ints
Returns
ndarrayout - Output array of str or unicode, depending on input types

Return (x1 != x2) element-wise.

Unlike numpy.not_equal, this comparison is performed by first stripping whitespace characters from the end of the string. This behavior is provided for backward-compatibility with numarray.

Parameters
x1:array_like of str or unicodeInput arrays of the same shape.
x2:array_like of str or unicodeInput arrays of the same shape.
Returns
ndarrayout - Output array of bools.

Partition each element in a around sep.

Calls str.partition element-wise.

For each element in a, split the element as the first occurrence of sep, and return 3 strings containing the part before the separator, the separator itself, and the part after the separator. If the separator is not found, return 3 strings containing the string itself, followed by two empty strings.

See Also

str.partition

Parameters
a:array_like, {str, unicode}Input array
sep:{str, unicode}Separator to split each string element in a.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type. The output array will have an extra dimension with 3 elements per input element.

For each element in a, return a copy of the string with all occurrences of substring old replaced by new.

Calls str.replace element-wise.

See Also

str.replace

Examples

>>> a = np.array(["That is a mango", "Monkeys eat mangos"])
>>> np.char.replace(a, 'mango', 'banana')
array(['That is a banana', 'Monkeys eat bananas'], dtype='<U19')
>>> a = np.array(["The dish is fresh", "This is it"])
>>> np.char.replace(a, 'is', 'was')
array(['The dwash was fresh', 'Thwas was it'], dtype='<U19')
Parameters
a:array-like of str or unicode
old:str or unicode
new:str or unicode
count:int, optionalIf the optional argument count is given, only the first count occurrences are replaced.
Returns
ndarrayout - Output array of str or unicode, depending on input type

For each element in a, return the highest index in the string where substring sub is found, such that sub is contained within [start, end].

Calls str.rfind element-wise.

See Also

str.rfind

Parameters
a:array-like of str or unicode
sub:str or unicode
start:int, optionalOptional arguments start and end are interpreted as in slice notation.
end:int, optionalOptional arguments start and end are interpreted as in slice notation.
Returns
ndarrayout - Output array of ints. Return -1 on failure.

Like rfind, but raises ValueError when the substring sub is not found.

Calls str.rindex element-wise.

See Also

rfind, str.rindex

Parameters
a:array-like of str or unicode
sub:str or unicode
start:int, optional
end:int, optional
Returns
ndarrayout - Output array of ints.
@array_function_dispatch(_just_dispatcher)
def rjust(a, width, fillchar=' '): (source)

Return an array with the elements of a right-justified in a string of length width.

Calls str.rjust element-wise.

See Also

str.rjust

Parameters
a:array_like of str or unicode
width:intThe length of the resulting strings
fillchar:str or unicode, optionalThe character to use for padding
Returns
ndarrayout - Output array of str or unicode, depending on input type

Partition (split) each element around the right-most separator.

Calls str.rpartition element-wise.

For each element in a, split the element as the last occurrence of sep, and return 3 strings containing the part before the separator, the separator itself, and the part after the separator. If the separator is not found, return 3 strings containing the string itself, followed by two empty strings.

See Also

str.rpartition

Parameters
a:array_like of str or unicodeInput array
sep:str or unicodeRight-most separator to split each element in array.
Returns
ndarrayout - Output array of string or unicode, depending on input type. The output array will have an extra dimension with 3 elements per input element.

For each element in a, return a list of the words in the string, using sep as the delimiter string.

Calls str.rsplit element-wise.

Except for splitting from the right, rsplit behaves like split.

See Also

str.rsplit, split

Parameters
a:array_like of str or unicode
sep:str or unicode, optionalIf sep is not specified or None, any whitespace string is a separator.
maxsplit:int, optionalIf maxsplit is given, at most maxsplit splits are done, the rightmost ones.
Returns
ndarrayout - Array of list objects

For each element in a, return a copy with the trailing characters removed.

Calls str.rstrip element-wise.

See Also

str.rstrip

Examples

>>> c = np.array(['aAaAaA', 'abBABba'], dtype='S7'); c
array(['aAaAaA', 'abBABba'],
    dtype='|S7')
>>> np.char.rstrip(c, b'a')
array(['aAaAaA', 'abBABb'],
    dtype='|S7')
>>> np.char.rstrip(c, b'A')
array(['aAaAa', 'abBABba'],
    dtype='|S7')
Parameters
a:array-like of str or unicode
chars:str or unicode, optionalThe chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a suffix; rather, all combinations of its values are stripped.
Returns
ndarrayout - Output array of str or unicode, depending on input type

For each element in a, return a list of the words in the string, using sep as the delimiter string.

Calls str.split element-wise.

See Also

str.split, rsplit

Parameters
a:array_like of str or unicode
sep:str or unicode, optionalIf sep is not specified or None, any whitespace string is a separator.
maxsplit:int, optionalIf maxsplit is given, at most maxsplit splits are done.
Returns
ndarrayout - Array of list objects

For each element in a, return a list of the lines in the element, breaking at line boundaries.

Calls str.splitlines element-wise.

See Also

str.splitlines

Parameters
a:array_like of str or unicode
keepends:bool, optionalLine breaks are not included in the resulting list unless keepends is given and true.
Returns
ndarrayout - Array of list objects
@array_function_dispatch(_startswith_dispatcher)
def startswith(a, prefix, start=0, end=None): (source)

Returns a boolean array which is True where the string element in a starts with prefix, otherwise False.

Calls str.startswith element-wise.

See Also

str.startswith

Parameters
a:array_like of str or unicode
prefix:str
start:int, optionalWith optional start, test beginning at that position. With optional end, stop comparing at that position.
end:int, optionalWith optional start, test beginning at that position. With optional end, stop comparing at that position.
Returns
ndarrayout - Array of booleans

Return len(a) element-wise.

See Also

builtins.len

Examples

>>> a = np.array(['Grace Hopper Conference', 'Open Source Day'])
>>> np.char.str_len(a)
array([23, 15])
>>> a = np.array([u'Р', u'о'])
>>> np.char.str_len(a)
array([1, 1])
>>> a = np.array([['hello', 'world'], [u'Р', u'о']])
>>> np.char.str_len(a)
array([[5, 5], [1, 1]])
Parameters
a:array_like of str or unicode
Returns
ndarrayout - Output array of integers

For each element in a, return a copy with the leading and trailing characters removed.

Calls str.strip element-wise.

See Also

str.strip

Examples

>>> c = np.array(['aAaAaA', '  aA  ', 'abBABba'])
>>> c
array(['aAaAaA', '  aA  ', 'abBABba'], dtype='<U7')
>>> np.char.strip(c)
array(['aAaAaA', 'aA', 'abBABba'], dtype='<U7')
>>> np.char.strip(c, 'a') # 'a' unstripped from c[1] because whitespace leads
array(['AaAaA', '  aA  ', 'bBABb'], dtype='<U7')
>>> np.char.strip(c, 'A') # 'A' unstripped from c[1] because (unprinted) ws trails
array(['aAaAa', '  aA  ', 'abBABba'], dtype='<U7')
Parameters
a:array-like of str or unicode
chars:str or unicode, optionalThe chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a prefix or suffix; rather, all combinations of its values are stripped.
Returns
ndarrayout - Output array of str or unicode, depending on input type

Return element-wise a copy of the string with uppercase characters converted to lowercase and vice versa.

Calls str.swapcase element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.swapcase

Examples

>>> c=np.array(['a1B c','1b Ca','b Ca1','cA1b'],'S5'); c
array(['a1B c', '1b Ca', 'b Ca1', 'cA1b'],
    dtype='|S5')
>>> np.char.swapcase(c)
array(['A1b C', '1B cA', 'B cA1', 'Ca1B'],
    dtype='|S5')
Parameters
a:array_like, {str, unicode}Input array.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type

Return element-wise title cased version of string or unicode.

Title case words start with uppercase characters, all remaining cased characters are lowercase.

Calls str.title element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.title

Examples

>>> c=np.array(['a1b c','1b ca','b ca1','ca1b'],'S5'); c
array(['a1b c', '1b ca', 'b ca1', 'ca1b'],
    dtype='|S5')
>>> np.char.title(c)
array(['A1B C', '1B Ca', 'B Ca1', 'Ca1B'],
    dtype='|S5')
Parameters
a:array_like, {str, unicode}Input array.
Returns
ndarrayout - Output array of str or unicode, depending on input type
@array_function_dispatch(_translate_dispatcher)
def translate(a, table, deletechars=None): (source)

For each element in a, return a copy of the string where all characters occurring in the optional argument deletechars are removed, and the remaining characters have been mapped through the given translation table.

Calls str.translate element-wise.

See Also

str.translate

Parameters
a:array-like of str or unicode
table:str of length 256
deletechars:str
Returns
ndarrayout - Output array of str or unicode, depending on input type

Return an array with the elements converted to uppercase.

Calls str.upper element-wise.

For 8-bit strings, this method is locale-dependent.

See Also

str.upper

Examples

>>> c = np.array(['a1b c', '1bca', 'bca1']); c
array(['a1b c', '1bca', 'bca1'], dtype='<U5')
>>> np.char.upper(c)
array(['A1B C', '1BCA', 'BCA1'], dtype='<U5')
Parameters
a:array_like, {str, unicode}Input array.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type

Return the numeric string left-filled with zeros

Calls str.zfill element-wise.

See Also

str.zfill

Parameters
a:array_like, {str, unicode}Input array.
width:intWidth of string to left-fill elements in a.
Returns
ndarray, {str, unicode}out - Output array of str or unicode, depending on input type
array_function_dispatch = (source)

Undocumented

def _binary_op_dispatcher(x1, x2): (source)

Undocumented

def _center_dispatcher(a, width, fillchar=None): (source)

Undocumented

def _clean_args(*args): (source)

Helper function for delegating arguments to Python string functions.

Many of the Python string operations that have optional arguments do not use 'None' to indicate a default value. In these cases, we need to remove all None arguments, and those following them.

def _code_dispatcher(a, encoding=None, errors=None): (source)

Undocumented

def _count_dispatcher(a, sub, start=None, end=None): (source)

Undocumented

def _endswith_dispatcher(a, suffix, start=None, end=None): (source)

Undocumented

def _expandtabs_dispatcher(a, tabsize=None): (source)

Undocumented

def _get_num_chars(a): (source)

Helper function that returns the number of characters per field in a string or unicode array. This is to abstract out the fact that for a unicode array this is itemsize / 4.

def _join_dispatcher(sep, seq): (source)

Undocumented

def _just_dispatcher(a, width, fillchar=None): (source)

Undocumented

def _mod_dispatcher(a, values): (source)

Undocumented

def _multiply_dispatcher(a, i): (source)

Undocumented

def _partition_dispatcher(a, sep): (source)

Undocumented

def _replace_dispatcher(a, old, new, count=None): (source)

Undocumented

def _split_dispatcher(a, sep=None, maxsplit=None): (source)

Undocumented

def _splitlines_dispatcher(a, keepends=None): (source)

Undocumented

def _startswith_dispatcher(a, prefix, start=None, end=None): (source)

Undocumented

def _strip_dispatcher(a, chars=None): (source)

Undocumented

def _to_string_or_unicode_array(result): (source)

Helper function to cast a result back into a string or unicode array if an object array must be used as an intermediary.

def _translate_dispatcher(a, table, deletechars=None): (source)

Undocumented

def _unary_op_dispatcher(a): (source)

Undocumented

def _use_unicode(*args): (source)

Helper function for determining the output type of some string operations.

For an operation on two ndarrays, if at least one is unicode, the result should be unicode.

def _zfill_dispatcher(a, width): (source)

Undocumented

_globalvar: int = (source)

Undocumented