讓a
成爲python中的一個列表。在numpy中推廣矩陣轉置
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。我想在b
考慮每個[1,2]
,[2,3]
,並且[3,4]
列表項,僅用於執行轉置的目的。我想輸出如下:
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]]])
你可以使用元組而不是列表來表示不可分割的矩陣元素。 – 2013-03-18 17:36:08
NumPy矩陣始終是二維的。你想要的矩陣是三維的。 – unutbu 2013-03-18 17:36:27
您是否改變了問題或將解決方案編輯爲問題? – 2013-03-18 17:48:49