簡體   English   中英

如何在Python中將不同形狀的數組列表轉換為numpy數組

[英]how to convert list of different shape of arrays to numpy array in Python

我有不同形狀的3D矩陣。 如:

  1. 矩陣形狀= [5,10,2048]
  2. 矩陣形狀= [5,6,2048]
  3. 矩陣形狀= [5,1,2048]

等等....

我想將它們放入大矩陣,但是當我嘗試使用numpy.asarray(list_of_matrix)函數時,通常會出現形狀錯誤(因為它們具有不同的形狀)。

您對處理這種情況有何建議?

我的實現如下所示:

matrices = []
matrices.append(mat1)
matrices.append(mat2)
matrices.append(mat3)
result_matrix = numpy.asarray(matrices)

並有形狀錯誤!

更新

我願意有一個4D的結果矩陣。

謝謝。

我不確定這是否適用於您,但似乎您的矩陣僅沿第一軸不一致,因此為什么不將它們連接起來:

例如

>>> import numpy as np
>>> c=np.zeros((5,10,2048))
>>> d=np.zeros((5,6,2048))
>>> e=np.zeros((5,1,2048))
>>> f=np.concatenate((c,d,e),axis=1)
>>> f.shape
(5, 17, 2048)

現在,您必須跟蹤第一軸的哪些索引對應於哪些矩陣,但這也許對您有用嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM