gpt4 book ai didi

python - 获取 Numpy 数组的反对角线

转载 作者:行者123 更新时间:2023-12-03 08:54:34 26 4
gpt4 key购买 nike

我有一个 Numpy 数组,我想得到它的反转对角线......

>>> import numpy as np
>>> arr = np.eye(6, dtype=int)
>>> arr
... array([[1, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 1]])

我知道为了获得对角线,我可以这样做:

>>> arr.diagonal()
... array([1, 1, 1, 1, 1, 1])

但我想得到它的反对角线。

>>> flipped_arr = np.fliplr(arr)
>>> flipped_arr
... array([[0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 1, 0],
[0, 0, 0, 1, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0]])

当我尝试获取flipped_arr的对角线时,会发生以下情况:

>>> flipped_arr.diagonal()
... array([0, 0, 0, 0, 0, 0])

有什么办法可以解决这个问题吗?

最佳答案

所以你想得到反对角线,你似乎已经有了解决方案

def anti_diagonal(arr):
return np.fliplr(arr).diagonal()

对于像这样的矩阵

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

那么anti_diagonal就是

 [1, 2, 3]

关于python - 获取 Numpy 数组的反对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549024/

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