NumPy 教程

NumPy 笔记

NumPy字符串函数


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

序号 函数及描述
1. add() 返回两个strUnicode数组的逐个字符串连接
2. multiply() 返回按元素多重连接后的字符串
3. center() 返回给定字符串的副本,其中元素位于特定字符串的中央
4. capitalize() 返回给定字符串的副本,其中只有第一个字符串大写
5. title() 返回字符串或 Unicode 的按元素标题转换版本
6. lower() 返回一个数组,其元素转换为小写
7. upper() 返回一个数组,其元素转换为大写
8. split() 返回字符串中的单词列表,并使用分隔符来分割
9. splitlines() 返回元素中的行列表,以换行符分割
10. strip() 返回数组副本,其中元素移除了开头或者结尾处的特定字符
11. join() 返回一个字符串,它是序列中字符串的连接
12. replace() 返回字符串的副本,其中所有子字符串的出现位置都被新字符串取代
13. decode() 按元素调用str.decode
14. encode() 按元素调用str.encode

这些函数在字符数组类(numpy.char)中定义。较旧的 Numarray 包包含chararray类。numpy.char类中的上述函数在执行向量化字符串操作时非常有用。

numpy.char.add()

函数执行按元素的字符串连接。

import numpy as np 
print '连接两个字符串:' 
print np.char.add(['hello'],[' xyz']) 
print '\n'

print '连接示例:' 
print np.char.add(['hello', 'hi'],[' abc', ' xyz'])

输出如下:

连接两个字符串:
['hello xyz']

连接示例:
['hello abc' 'hi xyz']

numpy.char.multiply()

这个函数执行多重连接。

import numpy as np 
print np.char.multiply('Hello ',3)

输出如下:

Hello Hello Hello

numpy.char.center()

此函数返回所需宽度的数组,以便输入字符串位于中心,并使用fillchar在左侧和右侧进行填充。

import numpy as np 
# np.char.center(arr, width,fillchar) 
print np.char.center('hello', 20,fillchar = '*')

输出如下:

*******hello********

numpy.char.capitalize()

函数返回字符串的副本,其中第一个字母大写

import numpy as np 
print np.char.capitalize('hello world')

输出如下:

Hello world

numpy.char.title()

返回输入字符串的按元素标题转换版本,其中每个单词的首字母都大写。

import numpy as np 
print np.char.title('hello how are you?')

输出如下:

Hello How Are You?

numpy.char.lower()

函数返回一个数组,其元素转换为小写。它对每个元素调用str.lower

import numpy as np 
print np.char.lower(['HELLO','WORLD']) 
print np.char.lower('HELLO')

输出如下:

['hello' 'world']
hello

numpy.char.upper()

函数返回一个数组,其元素转换为大写。它对每个元素调用str.upper

import numpy as np 
print np.char.upper('hello') 
print np.char.upper(['hello','world'])

输出如下:

HELLO
['HELLO' 'WORLD']

numpy.char.split()

此函数返回输入字符串中的单词列表。默认情况下,空格用作分隔符。否则,指定的分隔符字符用于分割字符串。

import numpy as np 
print np.char.split ('hello how are you?') 
print np.char.split ('YiibaiPoint,Hyderabad,Telangana', sep = ',')

输出如下:

['hello', 'how', 'are', 'you?']
['YiibaiPoint', 'Hyderabad', 'Telangana']

numpy.char.splitlines()

函数返回数组中元素的单词列表,以换行符分割。

import numpy as np 
print np.char.splitlines('hello\nhow are you?') 
print np.char.splitlines('hello\rhow are you?')

输出如下:

['hello', 'how are you?']
['hello', 'how are you?']

'\n''\r''\r\n'都会用作换行符。

numpy.char.strip()

函数返回数组的副本,其中元素移除了开头或结尾处的特定字符。

import numpy as np 
print np.char.strip('ashok arora','a') 
print np.char.strip(['arora','admin','java'],'a')

输出如下:

shok aror
['ror' 'dmin' 'jav']

numpy.char.join()

这个函数返回一个字符串,其中单个字符由特定的分隔符连接。

import numpy as np 
print np.char.join(':','dmy') 
print np.char.join([':','-'],['dmy','ymd'])

输出如下:

d:m:y
['d:m:y' 'y-m-d']

numpy.char.replace()

这个函数返回字符串副本,其中所有字符序列的出现位置都被另一个给定的字符序列取代。

import numpy as np 
print np.char.replace ('He is a good boy', 'is', 'was')

输出如下:

He was a good boy

numpy.char.decode()

这个函数在给定的字符串中使用特定编码调用str.decode()

import numpy as np 

a = np.char.encode('hello', 'cp500') 
print a 
print np.char.decode(a,'cp500')

输出如下:

\x88\x85\x93\x93\x96
hello

numpy.char.encode()

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

import numpy as np 
a = np.char.encode('hello', 'cp500') 
print a

输出如下:

\x88\x85\x93\x93\x96