以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作。 它们基于 Python 内置库中的标准字符串函数。

这些函数在字符数组类(numpy.char)中定义。

函数

描述

add()

对两个数组的逐个字符串元素进行连接

multiply()

返回按元素多重连接后的字符串

center()

居中字符串

capitalize()

将字符串第一个字母转换为大写

title()

将字符串的每个单词的第一个字母转换为大写

lower()

数组元素转换为小写

upper()

数组元素转换为大写

split()

指定分隔符对字符串进行分割,并返回数组列表

splitlines()

返回元素中的行列表,以换行符分割

strip()

移除元素开头或者结尾处的特定字符

join()

通过指定分隔符来连接数组中的元素

replace()

使用新字符串替换字符串中的所有子字符串

decode()

数组元素依次调用str.decode

encode()

数组元素依次调用str.encode

 numpy.char.add() 函数依次对两个数组的元素进行字符串连接。

>>> print (np.char.add(['hello'],[' xyz']))
['hello xyz']
>>> print (np.char.add(['hello', 'hi'],[' abc', ' xyz']))
['hello abc' 'hi xyz']

>>> a = np.array(['hello', 'hi'])
>>> b = np.array([' abc', ' xyz'])
>>> a
array(['hello', 'hi'], dtype='<U5')
>>> b
array([' abc', ' xyz'], dtype='<U4')
>>> print (np.char.add(a,b))
['hello abc' 'hi xyz']

numpy.char.multiply() 函数执行多重连接。

>>> print (np.char.multiply('Good Luck  ',3))
Good Luck  Good Luck  Good Luck

numpy.char.center() 函数用于将字符串居中,并使用指定字符在左侧和右侧进行填充。

>>> print (np.char.center('Good', 20,fillchar = '*'))
********Good********

numpy.char.capitalize() 函数将字符串的第一个字母转换为大写:

>>> print (np.char.capitalize('good'))
Good

numpy.char.title() 函数将字符串的每个单词的第一个字母转换为大写:

>>> print (np.char.title('good good study,day day up'))
Good Good Study,Day Day Up

numpy.char.lower() 函数对数组的每个元素转换为小写。它对每个元素调用 str.lower。

>>> print (np.char.lower(['GOOD','LUCK']))
['good' 'luck']

numpy.char.upper() 函数对数组的每个元素转换为大写。它对每个元素调用 str.upper。

>>> print (np.char.upper ('i like tokyo hot?'))
I LIKE TOKYO HOT?

numpy.char.split() 通过指定分隔符对字符串进行分割,并返回数组。默认情况下,分隔符为空格。

>>> print (np.char.split ('i like tokyo hot?'))
['i', 'like', 'tokyo', 'hot?']
#设定分隔符
>>> print (np.char.split ('www.tokyohot.com', sep = '.'))
['www', 'tokyohot', 'com']

numpy.char.splitlines() 函数以换行符作为分隔符来分割字符串,并返回数组。

>>> print (np.char.splitlines('i\nlike xiaozemaliya?'))
['i', 'like xiaozemaliya?']

\n,\r,\r\n 都可用作换行符。

numpy.char.strip() 函数用于移除开头或结尾处的特定字符。

>>> print (np.char.strip('ashok arunooba','a'))
shok arunoob
>>> print (np.char.strip(['arunooba','admin','java'],'a'))
['runoob' 'dmin' 'jav']

numpy.char.join() 函数通过指定分隔符来连接数组中的元素或字符串

>>> print (np.char.join(':','runoob'))
r:u:n:o:o:b
>>> print (np.char.join([':','-'],['runoob','google']))
['r:u:n:o:o:b' 'g-o-o-g-l-e']

numpy.char.replace() 函数使用新字符串替换字符串中的所有子字符串。

>>> print (np.char.replace ('i like xiaozemaliya', 'xiaoze', 'zuozuo'))
i like zuozuomaliya

numpy.char.encode() 函数对数组中的每个元素调用 str.encode 函数。 默认编码是 utf-8,可以使用标准 Python 库中的编解码器。

>>> a = np.char.encode('runoob', 'cp500') 
>>> print (a)
b'\x99\xa4\x95\x96\x96\x82'
>>>

numpy.char.decode() 函数对编码的元素进行 str.decode() 解码。

>>> a = np.char.encode('runoob', 'cp500') 
>>> print (a)
b'\x99\xa4\x95\x96\x96\x82'
>>> a = np.char.encode('runoob', 'cp500') 
>>> print (a)
b'\x99\xa4\x95\x96\x96\x82'
>>> print (np.char.decode(a,'cp500'))
runoob