gpt4 book ai didi

python - 使用同一数组中的另一个值作为索引替换 numpy 数组中的值

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:47 24 4
gpt4 key购买 nike

我正在寻找一种优雅的方式来执行以下操作:

我有一个这样的数组:

[[0, 0, 0, 1],
[0, 0, 0, 2],
[0, 0, 0, 1]]

我想用 1 替换每一行上的元素,该元素的索引等于该行的最后一个元素。因此对于第一行,我需要将索引为 1 的元素变为 1,对于第二行,元素索引 2 变为 1,依此类推。这只是一个例子,实际上我有更大的矩阵,最后一列的值从 0 到 9,我需要用它来指示行中的哪个元素变为 1。

最佳答案

IIUC,你可以使用 advanced indexing并做类似的事情

>>> s
array([[0, 0, 0, 1],
[0, 0, 0, 2],
[0, 0, 0, 1]])
>>> s[np.arange(len(s)),s[:,-1]] = 1
>>> s
array([[0, 1, 0, 1],
[0, 0, 1, 2],
[0, 1, 0, 1]])

关于python - 使用同一数组中的另一个值作为索引替换 numpy 数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790550/

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