如何使用NumPy在字符串数组以后缀结束的地方返回一个布尔数组的真值

  • Post category:Python

首先,我们需要使用numpy.char.endswith函数来实现在字符串数组中以后缀结束的地方返回一个布尔数组的真值。

该函数的语法如下:

numpy.char.endswith(arr, suffix, start=0, end=None)

其中,arr是字符串数组,suffix是后缀字符串,startend表示要处理的数组切片的起始和终止位置。如果不指定end,则处理从start到数组结束的全部元素。

接下来,假设我们有一个包含多个文件名的字符串数组files,我们想要知道哪些文件以.txt结尾。那么,我们可以使用以下代码来获得一个布尔数组,指示每个文件名是否以.txt结尾:

import numpy as np

files = np.array(['file1.txt', 'file2.csv', 'file3.txt', 'file4.jpg'])
endswith_txt = np.char.endswith(files, '.txt')
print(endswith_txt)

上面代码执行的结果如下所示:

[ True False  True False]

可以看到,布尔数组endswith_txt中,每个元素的值表示对应的文件名是否以.txt结尾。

接下来,我们再给一个示例,假设我们有一个包含多个邮箱地址的字符串数组emails,我们想要知道哪些邮箱地址以.edu结尾。那么,我们可以使用以下代码来获得一个布尔数组,指示每个邮箱地址是否以.edu结尾:

emails = np.array(['user1@domain.com', 'user2@school.edu', 'user3@school.edu', 'user4@domain.com'])
endswith_edu = np.char.endswith(emails, '.edu')
print(endswith_edu)

上面代码执行的结果如下所示:

[False  True  True False]

可以看到,布尔数组endswith_edu中,每个元素的值表示对应的邮箱地址是否以.edu结尾。

以上就是使用numpy.char.endswith函数在字符串数组中以后缀结束的地方返回布尔数组的方法和示例了。