gpt4 book ai didi

python - 查找 numpy 数组中第 n 次超出特定值的情况

转载 作者:行者123 更新时间:2023-11-30 22:51:38 26 4
gpt4 key购买 nike

这是此处提出的问题的扩展: Numpy first occurrence of value greater than existing value

N = 10000
aa = np.arange(-N,N)

在这个numpy数组中,我想找到数组第10次超过0的索引。要找到它第一次超过 0 的位置,我可以简单地执行以下操作:

np.argmax(aa>0.0)

最佳答案

您可以按照与“第一次”案例相同的原则进行工作,只是中间步骤稍微复杂一些。

从代表您的条件的 bool 数组开始:

cond = aa > 0

将数组中的 True/False 值转换为计数:

counts = np.cumsum(cond)

搜索您要查找的计数的第一次出现:

idx = np.searchsorted(counts, 10)

请记住,最后一行中的 10 指的是满足条件的第十个值,第一个值的计数为 1

<小时/>

或者,您可以将条件数组转换为索引:

indices, = np.nonzero(cond)
idx = indices[9]

请注意,在此设置中,第十个值将位于索引 9 处。

关于python - 查找 numpy 数组中第 n 次超出特定值的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949308/

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