以下函式用於對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