NumPy - 字符串函数



NumPy 中的字符串函数旨在对字符串数组进行操作。它们是 NumPy 的char模块的一部分,该模块提供了一组矢量化字符串操作,可应用于字符串数组的每个元素。

NumPy 字符串函数的关键特性

以下是 NumPy 字符串函数的关键特性:

  • 元素级操作:NumPy 字符串函数的核心优势在于能够独立地对数组的每个元素执行操作。这允许有效地操作大型数据集。
  • 矢量化:通过使用 NumPy 库,操作被矢量化,即与传统的 Python 字符串处理方法相比,它提高了性能。矢量化利用优化的 C 库来执行计算,从而显着减少执行时间。
  • 与数组的兼容性:NumPy 字符串函数直接与字符串数组一起使用,从而可以更轻松地处理大量文本数据,而无需将其转换为列表或其他格式。

字符串操作在数组上按元素执行。它们特别适用于低级数据操作和高效计算。

字符串函数列表

以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行矢量化字符串操作。它们基于 Python 内置库中的标准字符串函数。

序号 操作和描述
1 numpy.char.add()

按元素连接两个字符串数组。

2 numpy.char.center()

将数组中每个字符串居中于指定宽度内,并使用指定字符填充。

3 numpy.char.capitalize()

将数组中每个字符串的第一个字符大写。

4 numpy.char.decode()

使用指定的编码解码数组中的每个字符串。

5 numpy.char.encode()

使用指定的编码编码数组中的每个字符串。

6 numpy.char.ljust

左对齐数组中的每个字符串,并使用指定字符填充。

7 numpy.char.lower()

将数组中每个字符串的所有字符转换为小写。

8 numpy.char.lstrip()

去除数组中每个字符串开头的字符。

9 numpy.char.mod()

使用字符串中占位符的指定值格式化字符串。

10 numpy.char.multiply()

将数组中每个字符串重复指定次数。

11 numpy.char.replace()

将每个字符串中子字符串的出现次数替换为另一个子字符串。

12 numpy.char.rjust()

右对齐数组中的每个字符串,并使用指定字符填充。

13 numpy.char.rstrip()

去除数组中每个字符串末尾的字符。

14 numpy.char.strip()

去除数组中每个字符串开头和末尾的字符。

15 numpy.char.swapcase()

交换每个字符串中每个字符的大小写。

16 numpy.char.title()

将数组中的每个字符串转换为标题大小写。

17 numpy.char.translate()

根据转换表转换每个字符串中的字符。

18 numpy.char.upper()

将数组中每个字符串的所有字符转换为大写。

19 numpy.char.zfill()

在每个字符串的左侧填充零,以填充指定的宽度。

20 numpy.char.equal()

比较数组中每个字符串与另一个数组的相等性。

21 numpy.char.not_equal()

比较数组中每个字符串与另一个数组的不相等性。

22 numpy.char.greater_equal()

比较数组中每个字符串是否大于或等于另一个。

23 numpy.char.less_equal()

比较数组中每个字符串是否小于或等于另一个。

24 numpy.char.greater()

比较数组中每个字符串是否大于另一个。

25 numpy.char.less()

比较数组中每个字符串是否小于另一个。

26 numpy.char.count()

计算数组中每个字符串中子字符串出现的次数。

27 numpy.char.endswith()

检查数组中每个字符串是否以指定的后缀结尾。

28 numpy.char.find()

查找每个字符串中子字符串的最低索引。

29 numpy.char.index()

类似于 find,但如果未找到子字符串则引发错误。

30 numpy.char.isalnum()

检查每个字符串是否为字母数字。

31 numpy.char.isalpha()

检查每个字符串是否为字母。

32 numpy.char.isdecimal()

检查每个字符串是否为十进制字符串。

33 numpy.char.isdigit

检查每个字符串是否仅包含数字。

34 numpy.char.islower()

检查每个字符串是否为小写。

35 numpy.char.isnumeric()

检查每个字符串是否为数字。

36 numpy.char.isspace()

检查每个字符串是否仅包含空格。

37 numpy.char.istitle()

检查每个字符串是否为标题大小写。

38 numpy.char.isupper()

检查每个字符串是否为大写。

39 numpy.char.rfind()

查找每个字符串中子字符串的最高索引。

40 numpy.char.rindex()

类似于 rfind,但如果未找到子字符串则引发错误。

41 numpy.char.startswith()

检查每个字符串是否以指定的前缀开头。

42 numpy.char.str_len()

返回数组中每个字符串的长度。

43 numpy.char.split()

返回分割后的数组字符串。

44 numpy.char.splitlines()

将字符串数组的每个元素拆分为一个行列表。

45 numpy.char.join()

使用指定的定界符连接字符串数组的元素。

让我们快速了解一下重要的函数:

add() 函数

NumPy 中的 add() 函数用于使用+运算符连接字符串,如下例所示:

a = "Hello"
b = "World"
result = a + " " + b
print(result)

获得以下输出:

Hello World

multiply() 函数

NumPy 中的 multiply() 函数用于使用*运算符乘法(重复)字符串,如下例所示:

a = "Hello"
result = a * 3
print(result)

这将产生以下结果:

HelloHelloHello

center() 函数

center() 函数将字符串居中于指定宽度的字段中,并使用空格或指定字符填充:

s = "hello"
result = s.center(10, '*')
print(result)

以上代码的输出如下:

**hello***

capitalize() 函数

capitalize() 函数将字符串的第一个字符大写,并将所有其他字符转换为小写:

s = "hello world"
result = s.capitalize()
print(result)

获得的输出如下所示:

Hello world

title() 函数

title() 函数将字符串中每个单词的第一个字母大写:

s = "hello world"
result = s.title()
print(result)

执行以上代码后,我们将获得以下输出:

Hello World

lower() 和 upper() 函数

lower() 函数将字符串中的所有字符转换为小写。而 upper() 函数将字符串中的所有字符转换为大写:

s = "Hello World"
res1 = s.lower()
res2 = s.upper()
print("Lowercase:", res1)
print("Uppercase:",res2)

产生的结果如下:

Lowercase: hello world
Uppercase: HELLO WORLD

decode() 函数

在 Python 3 中,decode() 函数通常用于字节对象,而不是字符串。要将字节解码为字符串,您使用 decode() 函数:

# Bytes object
b = b"hello world"
result = b.decode('utf-8')
print(result)

我们得到以下输出:

hello world
广告