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