翻转二维numpy数组行中的两个值

2024-05-14 16:35:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了以下代码来翻转2d numpy数组行中的两个值。然而,我想知道是否有更好的方法来做到这一点。提前谢谢

def mtn(offg):
    for row in range(offg.shape[0]):
        point1 = random.randint(0, 139)
        point2 = random.randint(0, 139)
        temp = offg[row, point1]
        offg[row, point1] = offg[row, point2]
        offg[row, point2] = temp
    return offg

Tags: 方法代码innumpyfordefrandom数组
2条回答

如果每行中的点相同,则可以使用如下代码

tmp = offg[:,p1].copy()
offg[:,p1] = offg[:,p2]
offg[:,p2] = tmp

您可以使用高级索引:

offg[:,[p1, p2]] = offg[:,[p2, p1]]

相关问题 更多 >

    热门问题