微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NumPy 教程第 13 章:字符串函数

以下函数用于对 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() 函数

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

In [1]: import numpy as np

In [2]: print(np.char.add(['hello'],[' xyz']))
['hello xyz']

In [3]: print(np.char.add(['hello','hi'],[' abc',' xyz']))
['hello abc' 'hi xyz']

numpy.char.multiply() 函数

执行多重连接

In [4]: print(np.char.multiply('Runoob ',3))
Runoob Runoob Runoob

numpy.char.center() 函数

用于将字符串居中,并使用指定字符在左侧和右侧进行填充

In [5]: print(np.char.center('Runoob',20,fillchar='*'))
*******Runoob*******

numpy.char.capitalize() 函数

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

In [6]: print(np.char.capitalize('runoob'))
Runoob

numpy.char.title() 函数

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

In [7]: print(np.char.title('i like runoob'))
I Like Runoob

numpy.char.lower() 函数

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

In [8]: print(np.char.lower(['RUNOOB','GOOGLE']))
['runoob' 'google']

In [9]: print(np.char.lower('RUNOOB'))
runoob

numpy.char.upper() 函数

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

In [10]: print(np.char.upper(['runoob','google']))
['RUNOOB' 'GOOGLE']

In [11]: print(np.char.upper('runoob'))
RUNOOB

numpy.char.split() 函数

通过指定分隔符对字符串进行分割,并返回数组。认情况下,分隔符为空格

In [12]: print(np.char.split ('i like runoob?'))
['i','like','runoob?']

In [13]: print(np.char.split ('www.runoob.com',sep = '.'))
['www','runoob','com']

numpy.char.splitlines() 函数

以换行符作为分隔符来分割字符串,并返回数组

In [14]: print(np.char.splitlines('i\nlike runoob?'))
['i','like runoob?']

In [15]: print(np.char.splitlines('i\rlike runoob?'))
['i','like runoob?']

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

numpy.char.strip() 函数

用于移除开头或结尾处的特定字符

In [16]: print(np.char.strip('ashok arunooba','a'))
shok arunoob

In [17]: print(np.char.strip(['arunooba','admin','java'],'a'))
['runoob' 'dmin' 'jav']

numpy.char.join() 函数

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

In [18]: print(np.char.join(':','runoob'))
r:u:n:o:o:b

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

numpy.char.replace() 函数

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

In [20]: print (np.char.replace ('i like runoob','oo','cc'))
i like runccb

numpy.char.decode() 函数

对编码的元素进行 str.decode() 解码

In [21]: b = np.char.encode('runoob','cp500')

In [22]: b
Out[22]: array(b'\x99\xa4\x95\x96\x96\x82',dtype='|S6')

In [23]: print(np.char.decode(b,'cp500'))
runoob

numpy.char.encode() 函数

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

In [24]: print(np.char.encode('runoob','cp500'))
b'\x99\xa4\x95\x96\x96\x82'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐