这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战
Numpy.char字符串基础操作
- add
把两个shape相同的元素类型为字符串或unicode字符串的Numpy数组进行相同位置元素进行合并
In [1]: import numpy as np
In [3]: data1 = np.array(['a', 'b', 'c'])
In [4]: data2 = np.array(['d', 'e', 'f'])
In [5]: np.char.add(data1, data2)
Out[5]: array(['ad', 'be', 'cf'], dtype='<U2')
- multiply
把一个字符串Numpy数组的每个元素重复多次
In [7]: data1
Out[7]: array(['a', 'b', 'c'], dtype='<U1')
In [9]: np.char.multiply(data1, 5)
Out[9]: array(['aaaaa', 'bbbbb', 'ccccc'], dtype='<U5')
- capitalize
把字符串的Numpy数组里面的每个字符元素都进行首字母大写
In [13]: data = np.array(['mike', 'john', 'mary'])
In [14]: np.char.capitalize(data)
Out[14]: array(['Mike', 'John', 'Mary'], dtype='<U4')
- center
返回指定宽度的字符串Numpy数组
In [16]: data
Out[16]: array(['mike', 'john', 'mary'], dtype='<U4')
In [17]: np.char.center(data, 2)
Out[17]: array(['mi', 'jo', 'ma'], dtype='<U2')
- upper、lower
把字符串Numpy数组的每个元素都进行大写、小写
In [25]: data
Out[25]: array(['mike', 'john', 'mary'], dtype='<U4')
In [26]: np.char.upper(data)
Out[26]: array(['MIKE', 'JOHN', 'MARY'], dtype='<U4')
In [27]: np.char.lower(np.char.upper(data))
Out[27]: array(['mike', 'john', 'mary'], dtype='<U4')
- title、zfill、replace
In [29]: data
Out[29]: array(['mike', 'john', 'mary'], dtype='<U4')
In [30]: np.char.title(data)
Out[30]: array(['Mike', 'John', 'Mary'], dtype='<U4')
宽度不足用0进行填充
In [31]: np.char.zfill(data, 5)
Out[31]: array(['0mike', '0john', '0mary'], dtype='<U5')
In [32]: np.char.zfill(data, 8)
Out[32]: array(['0000mike', '0000john', '0000mary'], dtype='<U8')
字符串元素替换
In [33]: np.char.replace(data, 'mike', 'jerry')
Out[33]: array(['jerry', 'john', 'mary'], dtype='<U5')
- 其他操作
In [35]: data
Out[35]: array(['mike', 'john', 'mary'], dtype='<U4')
统计某字符出现的次数
In [36]: np.char.count(data, 'mike')
Out[36]: array([1, 0, 0])
判断每个元素是否以某子串进行结束
In [37]: np.char.endswith(data, 'n')
Out[37]: array([False, True, False])
查找每个元素某子串出现的首位置
In [38]: np.char.find(data, 'mary')
Out[38]: array([-1, -1, 0])
判断每个元素是字母
In [40]: np.char.isalpha(data)
Out[40]: array([ True, True, True])
判断每个元素是字母或数字
In [41]: np.char.isalnum(data)
Out[41]: array([ True, True, True])
判断每个元素是十进制数字
In [42]: np.char.isdecimal(data)
Out[42]: array([False, False, False])
判断每个元素是否是数字
In [43]: np.char.isdigit(data)
Out[43]: array([False, False, False])