gpt4 book ai didi

python - 用 "Element Number"替换数组中的元素 (Python)

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:02 26 4
gpt4 key购买 nike

我有一个看起来像这样的数组:

np.array([[0 , 5, 1], [0, 0, 3], [1, 7, 0]])

我想检查每个元素是否为非零,如果它是非零,则将其替换为一个数字,该数字跟踪它检查了多少个元素。也就是说,我希望最终产品看起来像

np.array([[0, 2, 3], [0, 0, 6], [7, 8, 0]])

第一行显示为 [0, 2, 3] 因为第二个元素被第二次检查,通过了测试,然后被替换(依此类推)。谁能想到任何解决方案?我想 numpy 的索引在这里会非常有用。谢谢!

最佳答案

你可以这样做:

np.where(a == 0, a, np.arange(a.size).reshape(a.shape) + 1)

关于python - 用 "Element Number"替换数组中的元素 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115128/

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