Python数据分析系列之Numpy基础知识第八篇

246 阅读2分钟

这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

Numpy.char字符串基础操作

  1. 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')

  1. 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')

  1. capitalize
    把字符串的Numpy数组里面的每个字符元素都进行首字母大写

In [13]: data = np.array(['mike', 'john', 'mary'])

In [14]: np.char.capitalize(data)
Out[14]: array(['Mike', 'John', 'Mary'], dtype='<U4')

  1. 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')

  1. 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')

  1. 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')

  1. 其他操作

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])