gpt4 book ai didi

python - 从数组中删除前导/尾随零的索引

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:46 25 4
gpt4 key购买 nike

给定一个一维数组

import numpy as np

arr = np.array([0, 0, 0, 0, 0, 0, 8, 83, 120, 111, 31, 37, 10, 0, 0, 0, 0, 0, 0, 0])

我可以使用 numpy.trim_zeros 删除前导/尾随零

np.trim_zeros(arr)
array([ 8, 83, 120, 111, 31, 37, 10])

但我还需要已删除元素的索引,或者至少是最极端元素的索引。在上述情况下,这些将是

[5, 13]

我可以用 for 循环检查每个元素以查看之前处理的元素是否为 0 并在该条件为 False 时停止,但我想知道如果已经开发出可以实现此目的的 numpy 函数。

最佳答案

使用argmax() -

In [40]: m = arr!=0

In [41]: m.argmax()-1, m.size - m[::-1].argmax()
Out[41]: (5, 13)

arr 为全 或全非零,如果要处理这些,我们需要定义预期输出。

关于python - 从数组中删除前导/尾随零的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46962198/

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