NumPy(五): 字符串函数

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值