Lesson14——NumPy 字符串函数之 Par3:字符串信息函数

NumPy 教程目录

1 字符串信息函数

1.1 numpy.char.count

  char.count(a, sub, start=0, end=None) 返回一个数组,其中包含 [start, end] 范围内子字符串 sub 的非重叠出现次数。

Example:

c = np.array(['aAaAaA', '  aA  ', 'abBABba'])
print(c)
print(np.char.count(c, 'A'))
print(np.char.count(c, 'aA'))
print(np.char.count(c, 'A', start=1, end=4))
print(np.char.count(c, 'A', start=1, end=3))
"""
['aAaAaA' '  aA  ' 'abBABba']
[3 1 1]
[3 1 0]
[2 1 1]
[1 0 0]
"""

1.2 numpy.char.endswith

   char.endswith(a, suffix, start=0, end=None) 返回一个布尔数组,该数组为 True,其中 a 中的字符串元素以后缀结尾,否则为 False

Example:

print(np.char.endswith(['Blair','Jane'],'r'))
print(np.char.endswith(['Blair','Jane'],'r',start=1,end=2))
print(np.char.endswith(['Blair','Jane'],'r',start=3,end=5))
s = np.array(['foo', 'bar'])
print(np.char.endswith(s, 'ar'))
print(np.char.endswith(s, 'a', start=1, end=2))
"""
[ True False]
[False False]
[ True False]
[False  True]
[False  True]
"""

1.3 numpy.char.find

  char.find(*a*, *sub*, *start=0*, end=None) 对于每个元素,返回字符串中找到子字符串 sub 的最低索引。

Example:

s = ['Blair','Jane',"Lee"]
print(np.char.find(s,'J'))
print(np.char.find(s,'a'))
print(np.char.find(s,'e',start=0,end=2))
"""
[-1  0 -1]
[ 2  1 -1]
[-1 -1  1]
"""

相关方法:

  • numpy.char.rfind

  char.rfind(a, sub, start=0, end=None) 对于 a 中的每个元素,返回找到子字符串 sub 的字符串中的最高索引,使得 sub 包含在 [start, end] 中。

Example:

s = ['JBlaJir','JaJne',"Lee"]
print(np.char.rfind(s,'J'))
print(np.char.rfind(s,'a'))
print(np.char.rfind(s,'e',start=0,end=2))
"""
[ 4  2 -1]
[ 3  1 -1]
[-1 -1  1]
"""

1.4 numpy.char.index

  char.index(a, sub, start=0, end=None) 与 find 类似,但在未找到子字符串时引发 ValueError

Example:

s = ['Blair','Jane',"Lee"]
print(np.char.index(s,'J'))
print(np.char.index(s,'a'))
print(np.char.index(s,'e',start=0,end=2))
"""
ValueError
ValueError
ValueError
"""

s = ['Blaie','Jane',"Lee"]
print(np.char.index(s,'e',start=0,end=2))
"""
ValueError
"""

s = ['Blaie','Jane',"Lee"]
print(np.char.index(s,'e',start=0,end=5))
"""
[4 3 1]
"""

相关方法:

  • numpy.char.rindex

  char.rindex(a, sub, start=0, end=None) 与 rfind 类似,但在未找到子字符串 sub 时引发 ValueError

Example:

s = ['JBlaJire','JaJne',"JaLee"]
print(np.char.rindex(s,'J'))
print(np.char.rindex(s,'a'))
print(np.char.rindex(s,'e',start=0,end=2))
"""
[ 4  2 -1]
[ 3  1 -1]
ValueError 
"""

1.5 numpy.char.isalpha

  char.isalpha(a) 如果字符串中的所有字符都是字母并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['Blaie','1111',"Lee"]
print(np.char.isalpha(s))
s = ['Blaie1','反差萌',"Lee"]
print(np.char.isalpha(s))
s = ['Blaie1','#####',"Lee"]
print(np.char.isalpha(s))
"""
[ True False  True]
[False  True  True]
[False False  True]
"""

1.6 numpy.char.isalnum

  char.isalnum(a) 如果字符串中的所有字符都是字母数字并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['Blaie','1111',"Lee"]
print(np.char.isalnum(s))
s = ['Blaie1','反差萌',"Lee"]
print(np.char.isalnum(s))
s = ['Blaie1','#####',"Lee"]
print(np.char.isalnum(s))
"""
[ True  True  True]
[ True  True  True]
[ True False  True]
"""

1.7 numpy.char.isdecimal

  char.isdecimal(a) 对于每个元素,如果元素中只有十进制字符,则返回 True

Example:

s = ['Blaie','1111',"Lee"]
print(np.char.isdecimal(s))
s = ['Blaie1','反差萌',"Lee"]
print(np.char.isdecimal(s))
s = ['Blaie1','#####',"Lee"]
print(np.char.isdecimal(s))
s = ['1.1111','1+2j',"Lee"]
print(np.char.isdecimal(s))
"""
[False  True False]
[False False False]
[False False False]
[ True False False]
"""

1.8 numpy.char.isdigit

  char.isdigit(a) 如果字符串中的所有字符都是数字并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###']
print(np.char.isdigit(s))
"""
[False  True False False False False False]
"""

1.9 numpy.char.islower

  char.islower(a) 如果字符串中的所有大小写字符都是小写并且至少有一个大小写字符,则为每个元素返回 true,否则返回 false

Example:

s = ['Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#']
print(np.char.islower(s))
"""
[False False False False  True False False  True False  True]
"""

1.10 numpy.char.isnumeric

  char.isnumeric(a) 对于每个元素,如果元素中只有数字字符,则返回 True

Example:

s = ['Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#']
print(np.char.isnumeric(s))  #只有全是数字时返回True
"""
[False  True False False False False False False False False]
"""

1.11 numpy.char.isspace

  char.isspace(a) 如果字符串中只有空白字符并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#','',' ','\t']
print(np.char.isspace(s))  #只有全是空白字符且至少有一个时返回True
"""
[False False False False False False False False False False False  True  True]
"""

1.12 numpy.char.istitle

  char.istitle(a) 如果元素是一个标题字符串并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['T','Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#','',' ','\t']
print(np.char.istitle(s))  #只有全是空白字符且至少有一个时返回True
"""
[ True  True False  True False False False False False False False False
 False False]
"""

1.13 numpy.char.isupper 

  char.isupper(a) 如果字符串中的所有大小写字符都是大写并且至少有一个字符,则为每个元素返回 true,否则返回 false

Example:

s = ['T','Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#','',' ']
print(np.char.isupper(s))  #只有全是空白字符且至少有一个时返回True
i = 0
for tmp in np.char.isupper(s):
    print('%-6s -> %-5s'%(s[i],tmp))
    i = i+1
"""
[ True False False False False False False False False  True False False
 False]
T      -> True 
Blaie  -> False
1111   -> False
Lee007 -> False
1.11   -> False
1+1j   -> False
反差萌    -> False
###    -> False
abc    -> False
ABC    -> True 
1+2j#  -> False
       -> False
       -> False
"""

1.14 numpy.char.startswith

  char.startswith(a, prefix, start=0, end=None) 返回一个布尔数组,该数组为 True,其中 a 中的字符串元素以前缀开头,否则为 False

Example:

print(np.char.startswith(['Blair','Jane'],'r'))
print(np.char.startswith(['Blair','Jane'],'r',start=1,end=2))
print(np.char.startswith(['Blair','Jane'],'r',start=3,end=5))
s = np.array(['foo', 'bar'])
print(np.char.startswith(s, 'ar'))
print(np.char.startswith(s, 'a', start=1, end=2))
"""
[False False]
[False False]
[False False]
[False False]
[False  True]
"""

1.15 numpy.char.str_len

  char.str_len(a) 返回 len(a) 元素。

Example:

s = ['T','Blaie','1111',"Lee007",'1.11','1+1j','反差萌','###','abc','ABC','1+2j#','',' ']
print(np.char.str_len(s))
"""
[1 5 4 6 4 4 3 3 3 3 5 0 1]
"""

 

posted @ 2022-02-16 12:06  图神经网络  阅读(217)  评论(0编辑  收藏  举报
Live2D