让我们a
成为python中的一个列表。
a = [1,2,3]
当矩阵转置应用于 时a
,我们得到:
np.matrix(a).transpose()
matrix([[1],
[2],
[3]])
我希望概括此功能,接下来将借助示例说明我希望做什么。让我们b
成为另一个列表。
b = [[1, 2], [2, 3], [3, 4]]
在a
中,列表项是 1、2 和 3。我想将 、 和 中的每一个[1,2]
视为[2,3]
中的[3,4]
列表项b
,仅用于执行转置。我希望输出如下:
array([[[1,2]],
[[2,3]],
[[3,4]]])
一般来说,我希望能够指定列表项的外观,并在此基础上执行矩阵转置。
我可以只写几行代码来完成上述工作,但我提出这个问题的目的是找出是否有内置的 numpy 功能或 pythonic 方式来做到这一点。
编辑:下面的 unutbu 输出与我上面的输出相匹配。但是,我想要一个适用于更一般情况的解决方案。我在下面发布了另一个输入/输出。我最初的示例描述性不够,无法传达我想说的内容。设, , , 和b
中的项目。那么下面给出的输出将是对高维元素进行矩阵转置。更一般地说,一旦我描述了“项目”的外观,我想知道是否有办法做类似转置的事情。[1,2]
[2,3]
[3,4]
[5,6]
Input: b = [[[1, 2], [2, 3]], [[3, 4], [5,6]]]
Output: array([[[1,2], [3,4]],
[[2,3], [5,6]]])