私は行列のリストを持っています.それらのいくつかは他のものよりも大きな高さ(.shape[0])を持っています.それらをすべて同じ高さにしたい. したがって、最大のマトリックスの高さを見つけて、残りのマトリックスに差を追加して、amtrix のコンテンツが中央に留まるようにします。(差が均等でない場合は、一番下の行を一番上の行よりも多く追加します。これまでのところ、私のコードは次のとおりです。
def equalize_heights(matrices,maxHeight):
newMatrices = []
matricesNum = len(matrices)
for i in xrange(matricesNum):
matrixHeight = matrices[i].shape[0]
if (matrixHeight == maxHeight):
newMatrices.append(matrices[i])
else:
addToTop = (maxHeight-matrixHeight)/2
addToBottom = (maxHeight-matrixHeight)/2 +((maxHeight-matrixHeight)%2)
現在、最大のマトリックスほど高くないマトリックスには、'addToTop' 行がマトリックスの上部に追加され (0 で埋められた行)、'addToBottom' 行が下部に追加されます。
numpy.pad 関数を使用することになっていると思いますが、正確にはわかりません。