如何使用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]