AI智能
改变未来

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))\"\"\"ValueErrorValueErrorValueError\"\"\"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 FalseFalse 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))  #只有全是空白字符且至少有一个时返回Truei = 0for 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 FalseFalse]T      -> TrueBlaie  -> False1111   -> FalseLee007 -> False1.11   -> False1+1j   -> False反差萌    -> False###    -> Falseabc    -> FalseABC    -> True1+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]\"\"\"

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Lesson14——NumPy 字符串函数之 Par3:字符串信息函数