gpt4 book ai didi

python - 获取值大于前一个元素的 numpy 1d 数组的索引

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:24 24 4
gpt4 key购买 nike

假设我生成一个 1d numpy 数组:

r=np.random.randint(0,10,(10,))

例如:

array([1, 5, 6, 7, 7, 8, 8, 0, 2, 7])

我可以找到元素大于前一个(左边的元素)的索引,如下所示:

for x in range(r.shape[0]):
if r[x]>r[x-1]:
p[x]=1
else:
p[x]=0
np.where(p==1)[0]

给予:

array([1, 2, 3, 5, 8, 9])

有更好的方法吗?

最佳答案

您可以使用 numpy.diffnumpy.where :

>>> arr = np.array([1, 5, 6, 7, 7, 8, 8, 0, 2, 7])
>>> np.where(np.diff(arr) > 0)[0] + 1
array([1, 2, 3, 5, 8, 9])

关于python - 获取值大于前一个元素的 numpy 1d 数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195830/

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