Python 数据分析三剑客之 NumPy(四):字符串函数总结与对比
CSDN 課程推薦:《Python 數據分析與挖掘》,講師劉順祥,浙江工商大學統計學碩士,數據分析師,曾擔任唯品會大數據部擔任數據分析師一職,負責支付環節的數據分析業務。曾與聯想、亨氏、網魚網咖等企業合作多個企業級項目。
NumPy 系列文章:
- Python 數據分析三劍客之 NumPy(一):理解 NumPy / 數組基礎
- Python 數據分析三劍客之 NumPy(二):數組索引 / 切片 / 廣播 / 拼接 / 分割
- Python 數據分析三劍客之 NumPy(三):數組的迭代與位運算
- Python 數據分析三劍客之 NumPy(四):字符串函數總結與對比
- Python 數據分析三劍客之 NumPy(五):數學 / 算術 / 統計 / 排序 / 條件 / 判斷函數合集
- Python 數據分析三劍客之 NumPy(六):矩陣 / 線性代數庫與 IO 操作
另有 Pandas、Matplotlib 系列文章已更新完畢,歡迎關注:
- Pandas 系列文章:https://itrhx.blog.csdn.net/category_9780397.html
- Matplotlib 系列文章:https://itrhx.blog.csdn.net/category_9780418.html
推薦學習資料與網站(博主參與部分文檔翻譯):
- NumPy 官方中文網:https://www.numpy.org.cn/
- Pandas 官方中文網:https://www.pypandas.cn/
- Matplotlib 官方中文網:https://www.matplotlib.org.cn/
- NumPy、Matplotlib、Pandas 速查表:https://github.com/TRHX/Python-quick-reference-table
文章目錄
- 【01】NumPy 字符串函數速查表
- 【02】numpy.char.add()
- 【03】numpy.char.join()
- 【04】numpy.char.mod()
- 【05】numpy.char.multiply()
- 【06】numpy.char.capitalize()
- 【07】numpy.char.title()
- 【08】numpy.char.lower()
- 【09】numpy.char.upper()
- 【10】numpy.char.swapcase()
- 【11】numpy.char.center()
- 【12】numpy.char.ljust()
- 【13】numpy.char.rjust()
- 【14】numpy.char.zfill()
- 【15】numpy.char.strip()
- 【16】numpy.char.lstrip()
- 【17】numpy.char.rstrip()
- 【18】numpy.char.partition()
- 【19】numpy.char.rpartition()
- 【20】numpy.char.split()
- 【21】numpy.char.rsplit()
- 【22】numpy.char.replace()
- 【23】numpy.char.splitlines()
- 【24】numpy.char.translate()
- 【25】numpy.char.encode()
- 【26】numpy.char.decode()
這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/105350414 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!
【01】NumPy 字符串函數速查表
和 Python 一樣,NumPy 也可以進行字符串相關操作。字符串函數在字符數組類(numpy.char)中定義。
| NumPy 字符串函數速查表 |
| add() | 對兩個數組的字符串元素進行連接 |
| join() | 通過指定分隔符來連接數組中的元素 |
| mod() | 格式化字符串,相當于 Python 字符串中的 % 和 format |
| multiply() | 按照給定值返回元素多重連接后的字符串 |
| capitalize() | 將字符串(字符串可同時包含字母和數字,只要是連續的都會被視為一個同字符串)第一個字母轉換為大寫 |
| title() | 將單詞(僅包含字母,若同時包含數字和字母,則數字之后元素被視為另一個單詞)第一個字母轉換為大寫 |
| lower() | 將數組中所有的元素轉換為小寫 |
| upper() | 將數組中所有的元素轉換為大寫 |
| swapcase() | 將數組中每個元素字母大寫轉為小寫,小寫轉為大寫 |
| center() | 居中字符串,并使用指定字符在左右側進行填充 |
| ljust() | 左對齊字符串,并使用指定字符在右側進行填充 |
| rjust() | 右對齊字符串,并使用指定字符在左側進行填充 |
| zfill() | 在數組元素的左邊填充指定個數的數字 0 |
| strip() | 移除數組每個元素開頭和者結尾處的特定字符 |
| lstrip() | 移除數組每個元素開頭(最左邊)的特定字符 |
| rstrip() | 移除數組每個元素結尾(最右邊)的特定字符 |
| partition() | 指定分割符對字符串進行分割(從最左邊的分割符開始分割,僅分割一次,返回三個元素) |
| rpartition() | 指定分割符對字符串進行分割(從最右邊的分割符開始分割,僅分割一次,返回三個元素) |
| split() | 指定分割符對字符串進行分割(從最左邊的分割符開始分割,可指定分割次數,返回多個元素) |
| rsplit() | 指定分割符對字符串進行分割(從最右邊的分割符開始分割,可指定分割次數,返回多個元素) |
| replace() | 使用新字符串替換原字符串中的子字符串 |
| splitlines() | 以換行符作為分隔符來分割字符串 |
| translate() | 將數組元素字符串按照給定的轉換表進行映射 |
| encode() | 編碼操作,數組元素依次調用 str.encode |
| decode() | 解碼操作,數組元素依次調用 str.decode |
【02】numpy.char.add()
numpy.char.add() 函數用于對兩個數組的字符串元素進行連接。
基本語法:numpy.char.add(x1, x2),數組 x1 和 x2 必須具有相同的形狀。
| x1 | 要處理的 str 或 unicode 數組 |
| x2 | 要處理的 str 或 unicode 數組 |
應用舉例:
>>> import numpy as np >>> print(np.char.add(['hello'],[' world'])) ['hello world'] >>> print(np.char.add(['123', 'abc'], [' 456', ' def'])) ['123 456' 'abc def']【03】numpy.char.join()
numpy.char.join() 函數通過指定分隔符來連接數組中的元素。
基本語法:numpy.char.join(sep1, seq2)
| seq1 | 分割符,str 或 unicode 數組 |
| seq2 | 被分割的 str 或 unicode 數組 |
應用舉例:
>>> import numpy as np >>> print(np.char.join('-', 'python')) p-y-t-h-o-n >>> >>> print(np.char.join(['+','-'],['python','java'])) ['p+y+t+h+o+n' 'j-a-v-a']【04】numpy.char.mod()
numpy.char.mod() 函數用于格式化字符串,相當于 Python 字符串中的 % 和 format。
基本語法:numpy.char.mod(value , a)
>>> import numpy as np >>> print(np.char.mod('value=%.2f', np.arange(6))) ['value=0.00' 'value=1.00' 'value=2.00' 'value=3.00' 'value=4.00' 'value=5.00'] >>> >>> print(np.char.mod('value=%.4f', [[1.1, 2, 3.021], [4.12, 5, 6.1]])) [['value=1.1000' 'value=2.0000' 'value=3.0210']['value=4.1200' 'value=5.0000' 'value=6.1000']]【05】numpy.char.multiply()
numpy.char.multiply() 函數用于元素的多重連接,即返回 a*i。
基本語法:numpy.char.multiply(a, i)
| a | 要處理的 str 或 unicode 數組 |
| i | 整數數組 |
應用舉例:
>>> import numpy as np >>> print(np.char.multiply('Python ', 4)) Python Python Python Python【06】numpy.char.capitalize()
numpy.char.capitalize() 函數將字符串第一個字母轉換為大寫。
基本語法:numpy.char.capitalize(a)
參數解釋:a:要處理的 str 或 unicode 數組。
應用舉例:
>>> import numpy as np >>> print(np.char.capitalize('python')) Python >>> print(np.char.capitalize(['a1b2','1b2a','b2a1','2a1b'])) ['A1b2' '1b2a' 'B2a1' '2a1b']【07】numpy.char.title()
numpy.char.title() 函數將數組元素字符串的每個單詞的第一個字母轉換為大寫。注意:如果一個字符串中間有非字母,則非字母之后的字符串會被視為另一個單詞。
基本語法:numpy.char.title(a)
應用舉例:
>>> import numpy as np >>> print(np.char.title('i love python!')) I Love Python! >>> print(np.char.title('a1bc2def3h')) A1Bc2Def3H >>> print(np.char.title(['a1bc', 'a 1bc', 'a1 bc', 'a1b c'])) ['A1Bc' 'A 1Bc' 'A1 Bc' 'A1B C']【08】numpy.char.lower()
numpy.char.lower() 函數將數組中所有的元素轉換為小寫。
基本語法:numpy.char.lower(a)
應用舉例:
>>> import numpy as np >>> print(np.char.lower('PYTHON')) python >>> print(np.char.lower(['PYTHON', 'A123C', 'Ba1A'])) ['python' 'a123c' 'ba1a']【09】numpy.char.upper()
numpy.char.upper() 函數將數組中所有的元素轉換為大寫。
基本語法:numpy.char.upper(a)
應用舉例:
>>> import numpy as np >>> print(np.char.upper('python')) PYTHON >>> print(np.char.upper(['python', 'a123c', 'ba1A'])) ['PYTHON' 'A123C' 'BA1A']【10】numpy.char.swapcase()
numpy.char.swapcase() 函數將數組中每個元素字母大寫轉為小寫,小寫轉為大寫。
基本語法:numpy.char.swapcase(a)
應用舉例:
>>> import numpy as np >>> print(np.char.swapcase('Abc123DEf456gHI')) aBC123deF456Ghi >>> print(np.char.swapcase(['Abc', '1De', '23F', 'Ghi'])) ['aBC' '1dE' '23f' 'gHI']【11】numpy.char.center()
numpy.char.center() 函數用于居中字符串,并使用指定字符在左右側進行填充。
基本語法:numpy.char.center(a, width[, fillchar=' '])
| a | 要處理的 str 或 unicode 數組 |
| width | int 類型,結果字符串的總長度 |
| fillchar | 可選項,str 或 unicode 數組,要使用的填充字符,默認為空格 |
應用舉例:
>>> import numpy as np >>> print(np.char.center('python', 10))python >>> print(np.char.center('python', 12, fillchar='-')) ---python--- >>> print(np.char.center('python', 11, fillchar='-')) ---python--【12】numpy.char.ljust()
numpy.char.ljust() 函數用于左對齊字符串,并使用指定字符在右側進行填充。
基本語法:numpy.char.ljust(a, width[, fillchar=' '])
| a | 要處理的 str 或 unicode 數組 |
| width | int 類型,結果字符串的總長度 |
| fillchar | 可選項,str 或 unicode 數組,要使用的填充字符,默認為空格 |
應用舉例:
>>> import numpy as np >>> print(np.char.ljust('python', 10, fillchar='-')) python----【13】numpy.char.rjust()
numpy.char.ljust() 函數用于右對齊字符串,并使用指定字符在左側進行填充。
基本語法:numpy.char.rjust(a, width[, fillchar=' '])
| a | 要處理的 str 或 unicode 數組 |
| width | int 類型,結果字符串的總長度 |
| fillchar | 可選項,str 或 unicode 數組,要使用的填充字符,默認為空格 |
應用舉例:
>>> import numpy as np >>> print(np.char.rjust('python', 10, fillchar='-')) ----python這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/105350414 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!
【14】numpy.char.zfill()
numpy.char.zfill() 函數在數組元素的左邊填充指定個數的數字 0。
基本語法:numpy.char.zfill(a, width)
| a | 要處理的 str 或 unicode 數組 |
| width | int 類型,數組字符串在左邊填充 0 后整個字符串的寬度 如果寬度小于原字符串的寬度,則結果會去掉原字符串中多余的元素 |
應用舉例:
>>> import numpy as np >>> print(np.char.zfill('python', 3)) pyt >>> print(np.char.zfill('python', 10)) 0000python【15】numpy.char.strip()
numpy.char.strip() 函數用于移除開頭和結尾處的特定字符。
基本語法:numpy.char.strip(a[, chars=None])
| a | 要處理的 str 或 unicode 數組 |
| chars | 可選項,str 類型,指定要刪除的字符集,如果省略或者為 None,則默認為刪除空白 |
應用舉例:
>>> import numpy as np >>> print(np.char.strip('alibaba','a')) libab >>> >>> print(np.char.strip(['Alibaba','admin','java', 'ABBA'],'a')) ['Alibab' 'dmin' 'jav' 'ABBA']【16】numpy.char.lstrip()
numpy.char.lstrip() 函數用于移除數組每個元素最右邊的特定字符。
基本語法:numpy.char.lstrip(a[, chars=None])
| a | 要處理的 str 或 unicode 數組 |
| chars | 可選項,str 類型,指定要刪除的字符集,如果省略或者為 None,則默認為刪除空白 |
應用舉例:
>>> import numpy as np >>> print(np.char.lstrip('alibaba','a')) libaba >>> >>> print(np.char.lstrip(['Alibaba','admin','java', 'aBBa'],'a')) ['Alibaba' 'dmin' 'java' 'BBa']【17】numpy.char.rstrip()
numpy.char.rstrip() 函數用于移除數組每個元素最右邊的特定字符。
基本語法:numpy.char.rstrip(a[, chars=None])
| a | 要處理的 str 或 unicode 數組 |
| chars | 可選項,str 類型,指定要刪除的字符集,如果省略或者為 None,則默認為刪除空白 |
應用舉例:
>>> import numpy as np >>> print(np.char.rstrip('alibaba','a')) alibab >>> print(np.char.rstrip(['Alibaba','admin','java', 'aBBa'],'a')) ['Alibab' 'admin' 'jav' 'aBB']【18】numpy.char.partition()
numpy.char.partition() 函數通過指定分割符對字符串進行分割,從最左邊第一次出現的分割符開始分割,僅分割一次,返回三個元素。
基本語法:numpy.char.partition(a, sep)
| a | 要處理的 str 或 unicode 數組 |
| sep | 分割字符,str 或 unicode 類型,返回三個元素:分割字符前的字符,分割字符,分割字符后的字符 如果元素包含多個分割字符,以最左邊的為準,如果找不到分隔符,則返回三個元素:字符串本身以及兩個空字符串 |
應用舉例:
>>> print(np.char.partition('111a222','a')) ['111' 'a' '222'] >>> print(np.char.partition('111a222a333','a')) ['111' 'a' '222a333'] >>> print(np.char.partition('111a222a333','b')) ['111a222a333' '' ''] >>> print(np.char.partition(['111a222', '23a45'],'a')) [['111' 'a' '222']['23' 'a' '45']]【19】numpy.char.rpartition()
numpy.char.partition() 函數通過指定分割符對字符串進行分割,從最右邊第一次出現的分割符開始分割,僅分割一次,返回三個元素。
基本語法:numpy.char.rpartition(a, sep)
| a | 要處理的 str 或 unicode 數組 |
| sep | 分割字符,str 或 unicode 類型,返回三個元素:分割字符前的字符,分割字符,分割字符后的字符 如果元素包含多個分割字符,以最右邊的為準,如果找不到分隔符,則返回三個元素:兩個空字符串以及字符串本身 |
應用舉例:
>>> import numpy as np >>> print(np.char.rpartition('111a222a333','a')) ['111a222' 'a' '333'] >>> print(np.char.rpartition('111a222a333','b')) ['' '' '111a222a333'] >>> print(np.char.rpartition(['111a222a333', '23a45'],'a')) [['111a222' 'a' '333']['23' 'a' '45']]【20】numpy.char.split()
numpy.char.split() 函數通過指定分割符對字符串進行分割,從最左邊的分割符開始分割,可指定分割次數,返回多個元素。
基本語法:numpy.char.split(a[, sep=None, maxsplit=None])
| a | 要處理的 str 或 unicode 數組 |
| sep | 分隔符,可選項,str 或者 unicode 類型,如果 sep 未指定或者為 None,則默認為空格 |
| maxsplit | 可選項,int 類型,如果指定 maxsplit,則最多完成 maxsplit 次分割 |
應用舉例:
>>> import numpy as np >>> print(np.char.split('I love python!')) ['I', 'love', 'python!'] >>> print(np.char.split('www.itrhx.com', sep='.')) ['www', 'itrhx', 'com'] >>> print(np.char.split('one.two.itrhx.com', sep='.', maxsplit=2)) ['one', 'two', 'itrhx.com'] >>> print(np.char.split('one.two.itrhx.com', '.', 2)) ['one', 'two', 'itrhx.com']【21】numpy.char.rsplit()
numpy.char.split() 函數通過指定分割符對字符串進行分割,從最右邊的分割符開始分割,可指定分割次數,返回多個元素。
基本語法:numpy.char.rsplit(a[, sep=None, maxsplit=None])
| a | 要處理的 str 或 unicode 數組 |
| sep | 分隔符,可選項,str 或者 unicode 類型,如果 sep 未指定或者為 None,則默認為空格 |
| maxsplit | 可選項,int 類型,如果指定 maxsplit,則最多完成 maxsplit 次分割 |
應用舉例:
>>> import numpy as np >>> print(np.char.rsplit('one.two.itrhx.com', '.', 2)) ['one.two', 'itrhx', 'com']【22】numpy.char.replace()
numpy.char.replace() 函數可以使用新字符串來替換原字符串中的子字符串。
基本語法:numpy.char.replace(a, old, new[, count=None])
| a | 要處理的 str 或 unicode 數組 |
| old | 舊的字符串,即要替換的字符串,str 或 unicode 類型 |
| new | 新的字符串,即替換的字符串,str 或 unicode 類型 |
| count | int 類型,如果指定該值 N,則會替換 old 中出現的前 N 個字符串 |
應用舉例:
>>> import numpy as np >>> print(np.char.replace('i like python', 'python', 'java')) i like java >>> >>> print(np.char.replace('aaaaaaa', 'a', 'b', count=3)) bbbaaaa >>> >>> print(np.char.replace('a111a11a1a111aa', 'a', 'A', count=3)) A111A11A1a111aa【23】numpy.char.splitlines()
numpy.char.splitlines() 函數以換行符作為分隔符來分割字符串,并返回數組。
基本語法:numpy.char.splitlines(a[, keepends=None])
| a | 要處理的 str 或 unicode 數組 |
| keepends | 如果指定 keepends 為 True,則換行符會包含在結果列表中,否則不包含 |
【24】numpy.char.translate()
numpy.char.translate() 函數將數組元素字符串按照給定的轉換表進行映射。
基本語法:numpy.char.translate(a, table[, deletechars=None])
| a | 要處理的 str 或 unicode 數組 |
| table | 包含 256 個字符的映射表,映射表通過 str.maketrans() 方法轉換而來 |
| deletechars | 可選項,str 類型,字符串中要過濾的字符列表 |
應用舉例:
>>> import numpy as np >>> intab = 'abcdef' >>> outtab = '123456' >>> table = str.maketrans(intab, outtab) # 制作映射表 >>> print(np.char.translate('this is a translate example!', table)) this is 1 tr1nsl1t5 5x1mpl5!【25】numpy.char.encode()
numpy.char.encode() 函數用于編碼操作,數組元素依次調用 str.encode,可以使用 Python 標準庫中的編解碼器。
基本語法:numpy.char.encode(a[, encoding=None, errors=None])
| a | 要處理的 str 或 unicode 數組 |
| encoding | 編碼名稱,可選項,str 類型,默認編碼為 utf-8 |
| errors | 指定如何處理編碼錯誤,可選項,str 類型 |
應用舉例:
>>> import numpy as np >>> print(np.char.encode('python', 'cp500')) b'\x97\xa8\xa3\x88\x96\x95' >>> >>> print(np.char.encode(['aAaAaA', ' aA ', 'abBABba'], 'cp037')) [b'\x81\xc1\x81\xc1\x81\xc1' b'@@\x81\xc1@@' b'\x81\x82\xc2\xc1\xc2\x82\x81']【26】numpy.char.decode()
numpy.char.decode() 函數用于解碼操作,數組元素依次調用 str.decode,可以使用 Python 標準庫中的編解碼器。
基本語法:numpy.char.decode(a[, encoding=None, errors=None])
| a | 要處理的 str 或 unicode 數組 |
| encoding | 編碼名稱,可選項,str 類型,默認編碼為 utf-8 |
| errors | 指定如何處理編碼錯誤,可選項,str 類型 |
應用舉例:
>>> import numpy as np >>> print(np.char.decode(b'\x97\xa8\xa3\x88\x96\x95', 'cp500')) python >>> >>> print(np.char.decode([b'\x81\xc1\x81\xc1\x81\xc1' b'@@\x81\xc1@@' b'\x81\x82\xc2\xc1\xc2\x82\x81'], 'cp500')) ['aAaAaA aA abBABba']這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/105350414 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!
總結
以上是生活随笔為你收集整理的Python 数据分析三剑客之 NumPy(四):字符串函数总结与对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星推出全新OLED方案:或将成为无边框
- 下一篇: Spring Boot 常用注解