13161216443

您所在位置: 首頁> 學習課程> python培訓班 | NumPy 字符串操作

python培訓班 | NumPy 字符串操作

發布百知教育 來源:學習課程 2019-12-09

本文向大家介紹一下 NumPy 的常見字符串函數。

NumPy 字符串函數

以下函數用于對 dtype 為 numpy.string_ 或 numpy.unicode_ 的數組執行向量化字符串操作。它們基于 Python 內置庫中的標準字符串函數。

這些函數在字符數組類(numpy.char)中定義:


python培訓班



函數的實例說明

numpy.char.add()

numpy.char.add() 函數依次對兩個數組的對應元素進行字符串連接。

這里需要注意的是只能連接兩個數組,并且兩個數組的元素個數必須相同。

實例:



import numpy as np
# 連接兩個字符串:print(np.char.add(['hello'], [' world']))
# 連接多個字符串print(np.char.add(['hello', 'hi'], [' world', ' Tracy']))
返回:['hello world']['hello world' 'hi Tracy']


numpy.char.multiply()


將字符串或數組進行重復多重連接。

如果參數是數組的話,這個函數會對數組的每個元素分別進行多重連接。

實例:


import numpy as np
# 多重連接print(np.char.multiply('hello ', 3))print(np.char.multiply(['hello', 'hi'], 3))
返回:hello hello hello ['hellohellohello' 'hihihi']


numpy.char.center()

用于將字符串居中,并使用指定字符在左側和右側進行填充。三個參數分別是:字符串或數組,拼接后總字符串字符數,填充的字符。

這個函數感覺用在打日志的時候特別好。

實例:


import numpy as np
print(np.char.center('hello', 20, fillchar='*'))print(np.char.center(['hello', 'hi'], 19, fillchar='*'))
返回:*******hello********['*******hello*******' '*********hi********']


numpy.char.capitalize()

將字符串的第一個字母轉換為大寫。

實例:


import numpy as np
print(p.char.capitalize('hello'))
返回:Hello


numpy.char.title()

將字符串的每個單詞的第一個字母轉換為大寫。

這個函數是上面函數的升級版吧。

實例:


import numpy as np
print(np.char.title('i love china'))
返回:I Love China


numpy.char.lower()

將字符串或數組的每個元素轉換為小寫。

實例:


import numpy as np
# 操作字符串print(np.char.lower('GOOGLE'))
# 操作數組print(np.char.lower(['I', 'LOVE', 'CHINA']))
返回:google['i' 'love' 'china']



numpy.char.upper()

將字符串或數組的每個元素轉換為大寫。

和上一個函數作用相反。

實例:


import numpy as np
# 操作字符串print(np.char.upper('google'))
# 操作數組print(np.char.upper(['', 'love', 'china']))
返回:GOOGLE['' 'LOVE' 'CHINA']


numpy.char.split()

通過指定分隔符對字符串進行分割,并返回數組。分隔符默認為空格。

實例:


import numpy as np
# 分隔符默認為空格print(np.char.split('do you love china?'))# 分隔符為 ,print(np.char.split('yes,i do', sep=','))
返回:['do', 'you', 'love', 'china?']['yes', 'i do']



numpy.char.splitlines()

用換行符作為分隔符來分割字符串,并返回數組。

這里的換行符可以是\r,\n,\r\n。

實例:


import numpy as np
# 換行符 \rprint(np.char.splitlines('I\rLove China'))# 換行符 \nprint(np.char.splitlines('I\nLove China'))# 換行符 \r\nprint(np.char.splitlines('I\r\nLove China'))
返回:['I', 'Love China']['I', 'Love China']['I', 'Love China']


numpy.char.expandtabs()

將字符串里面的 \t 轉換成 N 個tab。

實例:


import numpy as np
# 將 \t 轉成3個tabprint(np.char.expandtabs('i\tlove\tchina', 3))
返回:i  love  china


numpy.char.strip()

移除開頭或結尾處的特定字符。

實例:


import numpy as np
# 移除字符串頭尾的 a 字符print(np.char.strip('it love china', 'i'))
# 移除數組元素頭尾的 a 字符print(np.char.strip(['it', 'love', 'china'], 'i'))
返回:t love china['t' 'love' 'china']


numpy.char.lstrip()

去除字符串左邊的空格。

實例:


import numpy as np
# 去除左邊的空格print(np.char.lstrip('    china    '))
返回:china


numpy.char.rstrip()

去除字符串右邊的空格。

實例:

import numpy as np
# 去除右邊的空格print(np.char.rstrip('    china    '))
返回:    china



numpy.char.join()

通過指定分隔符來連接數組中的元素或字符串。

可以指定多個分隔符分隔數組中對應的元素。

實例:


import numpy as np
# 操作字符串print(np.char.join(':', 'china'))
# 操作數組print(np.char.join(':', ['china', 'american']))
# 指定多個分隔符操作數組元素print(np.char.join([':', '-'], ['china', 'american']))
返回:c:h:i:n:a['c:h:i:n:a' 'a:m:e:r:i:c:a:n']['c:h:i:n:a' 'a-m-e-r-i-c-a-n']


numpy.char.join()

通過指定字符來分隔數組中的元素或字符串。

通過指定的字符將字符串分割成指定字符前面的字符,指定的字符串和指定字符后面的字符三個部分。

實例:



mport numpy as np
# 操作字符串print(np.char.partition('china', 'i'))
# 操作數組print(np.char.partition(['china', 'like'], 'i'))
返回:['ch' 'i' 'na'][['ch' 'i' 'na'] ['l' 'i' 'ke']]


numpy.char.replace()

使用新字符串替換字符串中的所有子字符串。

實例:


import numpy as np
# 替換字符串print(np.char.replace('i love china', 'ov', 'ik'))
返回:i like china


numpy.char.encode()

對數組中的每個元素進行編碼操作。默認編碼是 utf-8,可以使用標準 Python 庫中的編解碼器。

實例:


import numpy as np
# 編碼print(np.char.encode('中國', 'utf-8'))
返回:b'\xe4\xb8\xad\xe5\x9b\xbd'


numpy.char.decode()

對數組中的每個元素進行解碼操作。

實例:


import numpy as np
a = np.char.encode('中國', 'utf-8')print(a)# 解碼print(np.char.decode(a, 'utf-8'))
返回:b'\xe4\xb8\xad\xe5\x9b\xbd'中國


總結

本文向大家介紹了 NumPy 的字符串函數,這些函數都可以用 python 的原生字符串的方法來完成,但是使用起來沒有這么簡潔方便。大家可以在不同的場景下根據需求使用本文的這些操作,讓代碼更簡潔,可讀性更好。


注釋:本文來自公眾號Python技術


python培訓班:http://www.akpsimsu.com/python2019




上一篇:java培訓班 | 如何設計一個本地緩存,漲姿勢了!

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.akpsimsu.com

有位老師想和您聊一聊

關閉

立即申請