import numpy as np
myArray = np.array(['Time', 'utc_sec', 'UTC_day', 'Utc_Hour'])
sub = 'utc'
count = 0
found = []
for item in myArray:
if sub in item.lower():
count += 1
found.append(count)
print(found)
get_occ_idx(sub, np_array):
""" Occurences index of substring in a numpy string array
"""
assert sub.islower(), f"Your substring '{sub}' must be lower case (should be : {sub.lower()})"
assert all(isinstance(x, str)==False for x in np_array), "All items in the array must be strings"
assert all(sub in x.lower() for x in np_array), f"There is no occurence of substring :'{sub}'"
occ = [i for i in range(len(np_array)) if sub in np_array[i].lower()]
return occ
3条答案
按热度按时间k4ymrczo1#
使用
np.char.lower
和np.char.find
的 * 矢量化 * 方法产出
其思想是使用
np.char.lower
使np.char.find
* 不区分大小写 *,然后使用np.where
获取包含子字符串的索引。r55awzrz2#
您可以使用
if sub in string
来检查它。输出:
vmdwslir3#
我们可以使用list
comprehension
来获得正确的索引:产出
让我们从这个问题中得出一个普遍的用法:我们将建立一个函数,返回
numpy string array
中any
子字符的出现索引。型