gpt4 book ai didi

python - 如何找到特定数字的最大索引和最小索引列明智的numpy

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

我有一个像

这样的 numpy 数组
m = np.array([[0,0,0,0,0],
[0,0,0,1,1],
[0,1,0,1,0],
[0,1,0,1,0],
[0,0,1,1,1],])

(m == 1).argmax(0) 将给出 array([0, 2, 4, 1, 1])。是否有任何类似的函数来获取每列中 1 的最小索引和最大索引。即

array([[ nan, 2., 4., 1., 1.], [ nan, 3., 4., 4., 4.]])

最佳答案

一种方法是——

mask = m==1
mask_cumsum = mask.cumsum(0)

valid_mask = mask.any(0)
min_idx = (mask_cumsum==1).argmax(0)
max_idx = mask_cumsum.argmax(0)
min_max_idx = np.vstack((min_idx, max_idx))

out = np.where(valid_mask, min_max_idx, np.nan)

关于python - 如何找到特定数字的最大索引和最小索引列明智的numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983397/

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