以下函數(shù)用于對(duì)dtype為numpy.string_或numpy.unicode_的數(shù)組執(zhí)行向量化字符串操作。 它們基于 Python 內(nèi)置庫(kù)中的標(biāo)準(zhǔn)字符串函數(shù)。
| 序號(hào) | 函數(shù)及描述 |
|---|---|
| 1. | add() 返回兩個(gè)str或Unicode數(shù)組的逐個(gè)字符串連接 |
| 2. | multiply() 返回按元素多重連接后的字符串 |
| 3. | center() 返回給定字符串的副本,其中元素位于特定字符串的中央 |
| 4. | capitalize() 返回給定字符串的副本,其中只有第一個(gè)字符串大寫(xiě) |
| 5. | title() 返回字符串或 Unicode 的按元素標(biāo)題轉(zhuǎn)換版本 |
| 6. | lower() 返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為小寫(xiě) |
| 7. | upper() 返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為大寫(xiě) |
| 8. | split() 返回字符串中的單詞列表,并使用分隔符來(lái)分割 |
| 9. | splitlines() 返回元素中的行列表,以換行符分割 |
| 10. | strip() 返回?cái)?shù)組副本,其中元素移除了開(kāi)頭或者結(jié)尾處的特定字符 |
| 11. | join() 返回一個(gè)字符串,它是序列中字符串的連接 |
| 12. | replace() 返回字符串的副本,其中所有子字符串的出現(xiàn)位置都被新字符串取代 |
| 13. | decode() 按元素調(diào)用str.decode |
| 14. | encode() 按元素調(diào)用str.encode |
這些函數(shù)在字符數(shù)組類(lèi)(numpy.char)中定義。 較舊的 Numarray 包包含chararray類(lèi)。 numpy.char類(lèi)中的上述函數(shù)在執(zhí)行向量化字符串操作時(shí)非常有用。
numpy.char.add()函數(shù)執(zhí)行按元素的字符串連接。
import numpy as np
print '連接兩個(gè)字符串:'
print np.char.add(['hello'],[' xyz'])
print '\n'
print '連接示例:'
print np.char.add(['hello', 'hi'],[' abc', ' xyz'])
輸出如下:
連接兩個(gè)字符串:
['hello xyz']
連接示例:
['hello abc' 'hi xyz']
numpy.char.multiply()這個(gè)函數(shù)執(zhí)行多重連接。
import numpy as np
print np.char.multiply('Hello ',3)
輸出如下:
Hello Hello Hello
numpy.char.center()此函數(shù)返回所需寬度的數(shù)組,以便輸入字符串位于中心,并使用fillchar在左側(cè)和右側(cè)進(jìn)行填充。
import numpy as np
# np.char.center(arr, width,fillchar)
print np.char.center('hello', 20,fillchar = '*')
輸出如下:
*******hello********
numpy.char.capitalize()函數(shù)返回字符串的副本,其中第一個(gè)字母大寫(xiě)
import numpy as np
print np.char.capitalize('hello world')
輸出如下:
Hello world
numpy.char.title()返回輸入字符串的按元素標(biāo)題轉(zhuǎn)換版本,其中每個(gè)單詞的首字母都大寫(xiě)。
import numpy as np
print np.char.title('hello how are you?')
輸出如下:
Hello How Are You?
numpy.char.lower()函數(shù)返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為小寫(xiě)。它對(duì)每個(gè)元素調(diào)用str.lower。
import numpy as np
print np.char.lower(['HELLO','WORLD'])
print np.char.lower('HELLO')
輸出如下:
['hello' 'world']
hello
numpy.char.upper()函數(shù)返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為大寫(xiě)。它對(duì)每個(gè)元素調(diào)用str.upper。
import numpy as np
print np.char.upper('hello')
print np.char.upper(['hello','world'])
輸出如下:
HELLO
['HELLO' 'WORLD']
numpy.char.split()此函數(shù)返回輸入字符串中的單詞列表。 默認(rèn)情況下,空格用作分隔符。 否則,指定的分隔符字符用于分割字符串。
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()函數(shù)返回?cái)?shù)組中元素的單詞列表,以換行符分割。
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'都會(huì)用作換行符。
numpy.char.strip()函數(shù)返回?cái)?shù)組的副本,其中元素移除了開(kāi)頭或結(jié)尾處的特定字符。
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()這個(gè)函數(shù)返回一個(gè)字符串,其中單個(gè)字符由特定的分隔符連接。
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()這個(gè)函數(shù)返回字符串副本,其中所有字符序列的出現(xiàn)位置都被另一個(gè)給定的字符序列取代。
import numpy as np
print np.char.replace ('He is a good boy', 'is', 'was')
輸出如下:
He was a good boy
numpy.char.decode()這個(gè)函數(shù)在給定的字符串中使用特定編碼調(diào)用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()此函數(shù)對(duì)數(shù)組中的每個(gè)元素調(diào)用str.encode函數(shù)。 默認(rèn)編碼是utf_8,可以使用標(biāo)準(zhǔn) Python 庫(kù)中的編解碼器。
import numpy as np
a = np.char.encode('hello', 'cp500')
print a
輸出如下:
\x88\x85\x93\x93\x96