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 使用 + 运算符连接字符串,如下例所示 -
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)
结果如下 -
小写:hello world 大写:HELLO WORLD
decode() 函数
在 Python 3 中,decode() 函数通常用于字节对象,而不是字符串。要将字节解码为字符串,请使用 decoder() 函数 -
# Bytes 对象 b = b"hello world" result = b.decode('utf-8') print(result)
我们得到如下所示的输出 -
hello world