以下函數用於對dtype為numpy.string_或numpy.unicode_的數組執行向量化字符串操作。 它們基於 Python 內置庫中的標准字符串函數。
| 序號 | 函數及描述 |
|---|---|
| 1. | add() 返回兩個str或Unicode數組的逐個字符串連接 |
| 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
