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 |
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 |
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 |
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 |
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 |
Undocumented |
Function | _binary |
Undocumented |
Function | _center |
Undocumented |
Function | _clean |
Helper function for delegating arguments to Python string functions. |
Function | _code |
Undocumented |
Function | _count |
Undocumented |
Function | _endswith |
Undocumented |
Function | _expandtabs |
Undocumented |
Function | _get |
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 |
Undocumented |
Function | _just |
Undocumented |
Function | _mod |
Undocumented |
Function | _multiply |
Undocumented |
Function | _partition |
Undocumented |
Function | _replace |
Undocumented |
Function | _split |
Undocumented |
Function | _splitlines |
Undocumented |
Function | _startswith |
Undocumented |
Function | _strip |
Undocumented |
Function | _to |
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 |
Undocumented |
Function | _unary |
Undocumented |
Function | _use |
Helper function for determining the output type of some string operations. |
Function | _zfill |
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 unicode | Input array. |
x2:array_like of str or unicode | Input array. |
Returns | |
ndarray | add - Output array of string_ or unicode_ , depending on input types
of the same shape as x1 and x2 . |
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:
- values automatically have whitespace removed from the end when indexed
- comparison operators automatically remove whitespace from the end when comparing values
- 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 , 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. |
copy:bool , 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.). |
unicode:bool , optional | When true, the resulting 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). |
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:
- values automatically have whitespace removed from the end when indexed
- comparison operators automatically remove whitespace from the end when comparing values
- 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 , 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. |
unicode:bool , optional | When true, the resulting then the unicode setting of the output array will be automatically determined. |
order:{'C', 'F'}, 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). |
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
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 unicode | Input array of strings to capitalize. |
Returns | |
ndarray | out - Output array of str or unicode, depending on input types |
Return a copy of a
with its elements centered in a string of
length width
.
Calls str.center
element-wise.
See Also
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:int | The length of the resulting strings |
fillchar:str or unicode , optional | The padding character to use (default is space). |
Returns | |
ndarray | out - 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
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 unicode | The substring to search for. |
start:int , optional | Optional arguments start and end are interpreted as slice
notation to specify the range in which to count. |
end:int , optional | Optional arguments start and end are interpreted as slice
notation to specify the range in which to count. |
Returns | |
ndarray | out - 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
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 , optional | The name of an encoding |
errors:str , optional | Specifies how to handle encoding errors |
Returns | |
ndarray | out |
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
Notes
The type of the result will depend on the encoding specified.
Parameters | |
a:array_like of str or unicode | |
encoding:str , optional | The name of an encoding |
errors:str , optional | Specifies how to handle encoding errors |
Returns | |
ndarray | out |
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
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 , optional | With optional start , test beginning at that position. With
optional end , stop comparing at that position. |
end:int , optional | With optional start , test beginning at that position. With
optional end , stop comparing at that position. |
Returns | |
ndarray | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | Input array |
tabsize:int , optional | Replace tabs with tabsize number of spaces. If not given defaults
to 8 spaces. |
Returns | |
ndarray | out - 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
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 , optional | Optional arguments start and end are interpreted as in
slice notation. |
end:int , optional | Optional arguments start and end are interpreted as in
slice notation. |
Returns | |
ndarray or int | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - Output array of bools. |
Like find
, but raises ValueError
when the substring is not found.
Calls str.index
element-wise.
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 | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
Returns | |
ndarray | out - 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.
See Also
Examples
>>> np.char.isdecimal(['12345', '4.99', '123ABC', '']) array([ True, False, False, False])
Parameters | |
a:array_like , unicode | Input array. |
Returns | |
ndarray , bool | out - 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
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 | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
Returns | |
ndarray | out - 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.
See Also
Examples
>>> np.char.isnumeric(['123', '123abc', '9.0', '1/4', 'VIII']) array([ True, False, False, False, False])
Parameters | |
a:array_like , unicode | Input array. |
Returns | |
ndarray , bool | out - 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
Parameters | |
a:array_like of str or unicode | |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
Returns | |
ndarray | out - 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
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 | |
ndarray | out - 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
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 | |
ndarray | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - Output array of bools. |
Return an array with the elements of a
left-justified in a
string of length width
.
Calls str.ljust
element-wise.
See Also
Parameters | |
a:array_like of str or unicode | |
width:int | The length of the resulting strings |
fillchar:str or unicode , optional | The character to use for padding |
Returns | |
ndarray | out - 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
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
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}, optional | The 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 values | These values will be element-wise interpolated into the string. |
Returns | |
ndarray | out - 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 | |
ndarray | out - 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.
See Also
Parameters | |
x1:array_like of str or unicode | Input arrays of the same shape. |
x2:array_like of str or unicode | Input arrays of the same shape. |
Returns | |
ndarray | out - 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
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
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 , optional | If the optional argument count is given, only the first
count occurrences are replaced. |
Returns | |
ndarray | out - 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
Parameters | |
a:array-like of str or unicode | |
sub:str or unicode | |
start:int , optional | Optional arguments start and end are interpreted as in
slice notation. |
end:int , optional | Optional arguments start and end are interpreted as in
slice notation. |
Returns | |
ndarray | out - 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
Parameters | |
a:array-like of str or unicode | |
sub:str or unicode | |
start:int , optional | |
end:int , optional | |
Returns | |
ndarray | out - Output array of ints. |
Return an array with the elements of a
right-justified in a
string of length width
.
Calls str.rjust
element-wise.
See Also
Parameters | |
a:array_like of str or unicode | |
width:int | The length of the resulting strings |
fillchar:str or unicode , optional | The character to use for padding |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | Input array |
sep:str or unicode | Right-most separator to split each element in array. |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
sep:str or unicode , optional | If sep is not specified or None, any whitespace string
is a separator. |
maxsplit:int , optional | If maxsplit is given, at most maxsplit splits are done,
the rightmost ones. |
Returns | |
ndarray | out - Array of list objects |
For each element in a
, return a copy with the trailing
characters removed.
Calls str.rstrip
element-wise.
See Also
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 , optional | The 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 | |
ndarray | out - 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.
Parameters | |
a:array_like of str or unicode | |
sep:str or unicode , optional | If sep is not specified or None, any whitespace string is a
separator. |
maxsplit:int , optional | If maxsplit is given, at most maxsplit splits are done. |
Returns | |
ndarray | out - 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
Parameters | |
a:array_like of str or unicode | |
keepends:bool , optional | Line breaks are not included in the resulting list unless keepends is given and true. |
Returns | |
ndarray | out - Array of list objects |
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
Parameters | |
a:array_like of str or unicode | |
prefix:str | |
start:int , optional | With optional start , test beginning at that position. With
optional end , stop comparing at that position. |
end:int , optional | With optional start , test beginning at that position. With
optional end , stop comparing at that position. |
Returns | |
ndarray | out - 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 | |
ndarray | out - 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
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 , optional | The 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 | |
ndarray | out - 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
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
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 | |
ndarray | out - Output array of str or unicode, depending on input type |
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
Parameters | |
a:array-like of str or unicode | |
table:str of length 256 | |
deletechars:str | |
Returns | |
ndarray | out - 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
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 |
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.
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.
Helper function to cast a result back into a string or unicode array if an object array must be used as an intermediary.