以下函數(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è)字符串大寫 |
5. | title() 返回字符串或 Unicode 的按元素標(biāo)題轉(zhuǎn)換版本 |
6. | lower() 返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為小寫 |
7. | upper() 返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為大寫 |
8. | split() 返回字符串中的單詞列表,并使用分隔符來(lái)分割 |
9. | splitlines() 返回元素中的行列表,以換行符分割 |
10. | strip() 返回?cái)?shù)組副本,其中元素移除了開頭或者結(jié)尾處的特定字符 |
11. | join() 返回一個(gè)字符串,它是序列中字符串的連接 |
12. | replace() 返回字符串的副本,其中所有子字符串的出現(xiàn)位置都被新字符串取代 |
13. | decode() 按元素調(diào)用str.decode |
14. | encode() 按元素調(diào)用str.encode |
這些函數(shù)在字符數(shù)組類(numpy.char
)中定義。 較舊的 Numarray 包包含chararray
類。 numpy.char
類中的上述函數(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è)字母大寫
import numpy as np
print np.char.capitalize('hello world')
輸出如下:
Hello world
numpy.char.title()
返回輸入字符串的按元素標(biāo)題轉(zhuǎn)換版本,其中每個(gè)單詞的首字母都大寫。
import numpy as np
print np.char.title('hello how are you?')
輸出如下:
Hello How Are You?
numpy.char.lower()
函數(shù)返回一個(gè)數(shù)組,其元素轉(zhuǎn)換為小寫。它對(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)換為大寫。它對(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ù)組的副本,其中元素移除了開頭或結(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