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

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

在这篇文章中,我们将讨论如何使用Python中的NumPy,在数组中的字符串元素以后缀结束的情况下,返回一个布尔数组为真。

示例。检查数组以Com结尾
Input: person_1@abc.com
Output: True
Input: person_3@xyz.co
Output: False

在Python中,numpy.char模块为numpy.str_类型的数组提供了一组矢量的字符串操作。我们可以使用Numpy.char.endswith方法来返回一个布尔数组,当数组中的字符串元素以后缀结束时,该数组为真。

语法: char.endswith(a, suffix, start=0, end=None)

参数

  • a: str或unicode的类似数组
  • suffix: str
  • start, end: int, 可选
  • 有了可选的start,就从该位置开始测试。有了可选的结束,就在该位置停止比较。

返回值

  • out: ndarray
  • 输出一个布尔数组。

示例 1:

我们有一个电子邮件地址数组,我们需要通过检查后缀”.com “来检查其中哪些是有效的电子邮件。如果一个字符串以”.com “结尾,它应该返回True,否则返回False。

# import required modules
import numpy as np
 
# initialising the array to be validated
address_list = np.array(["person_1@abc.com",
                         "person_2@abc.ccc",
                         "person_3@xyz.com"])
 
# Calling the endswith method
validated_array = np.char.endswith(address_list,
                                   suffix = ".com")
 
print(validated_array)

输出:

[ True False  True]

示例 2:

在前面的例子中,我们已经验证了电子邮件地址的后缀”.com”,现在我们将验证电子邮件地址的域名。这一次,我们只对域名 “abc “感兴趣,而不是”.com”。

带有域名abc的地址应该返回True,否则返回False。假设,在域名后面正好有4个字符(例如:”.com”)。

# import required modules
import numpy as np
 
# initialising the array to be validated
address_list = np.array(["person_1@abc.com",
                         "person_2@abc.ccc",
                         "person_3@xyz.com"])
 
# Calling the endswith method
# start = 0 : starts from the beginning of
# a stringend = -4 : Ends at 4 places before
# the string ending
validated_array = np.char.endswith(address_list,
                                   suffix ="abc",
                                   start=0, end=-4)
 
print(validated_array)

输出:

[ True  True False]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作