gpt4 book ai didi

python - 在 nan 之后提取 numpy 数组中的第一个匹配项

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:01 27 4
gpt4 key购买 nike

我有以下数组:

[1,1,1,1,1,1,nan,nan,nan,1,1,1,2,2,2,3,3]

我想在 nan 之后提取此数组中第一次出现的 1。我试过这个:

numpy.argmax(arr > numpy.nan)

最佳答案

np.where(np.isnan(foo))[0][-1] + 1

np.where 之后,0 返回包含 NaN 的元素的索引。然后 -1 给你最后一个 NaN 索引。然后将其加一以找到最后一个 NaN 之后的元素的索引。

在您的示例数组中,它生成的索引为 9

然后您可以再次使用 np.where 从索引 9 开始查找第一个 1。

总而言之:

afternan = np.where(np.isnan(foo))[0][-1] + 1np.where(foo[afternan:] == 1)[0][0]

请注意,您的示例似乎是一个列表。我假设您将其转换为 numpy 数组。

关于python - 在 nan 之后提取 numpy 数组中的第一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983707/

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