gpt4 book ai didi

numpy - 在numpy数组中查找包含子字符串的条目?

转载 作者:行者123 更新时间:2023-12-04 05:23:15 28 4
gpt4 key购买 nike

我试图在一个数组中找到包含np.where和in条件的子字符串的条目:

import numpy as np
foo = "aa"
bar = np.array(["aaa", "aab", "aca"])
np.where(foo in bar)

这只会返回一个空数组。
为什么会这样?
有没有好的替代解决方案?

最佳答案

我们可以使用 np.core.defchararray.find 来找到foo字符串在bar的每个元素中的位置,如果找不到,它将返回-1。因此,可以通过检查foo的输出中的-1来检测每个元素中是否存在find。最后,我们将使用np.flatnonzero来获取匹配项的索引。因此,我们将有一个实现,像这样-

np.flatnonzero(np.core.defchararray.find(bar,foo)!=-1)

sample 运行-
In [91]: bar
Out[91]:
array(['aaa', 'aab', 'aca'],
dtype='|S3')

In [92]: foo
Out[92]: 'aa'

In [93]: np.flatnonzero(np.core.defchararray.find(bar,foo)!=-1)
Out[93]: array([0, 1])

In [94]: bar[2] = 'jaa'

In [95]: np.flatnonzero(np.core.defchararray.find(bar,foo)!=-1)
Out[95]: array([0, 1, 2])

关于numpy - 在numpy数组中查找包含子字符串的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974168/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com