形状を持つ行列 A が与えられた場合(1000000,6)
、各行の右端の最小値を取得する方法を見つけ、それをこの関数に実装しました。
def calculate_row_minima_indices(h): # h is the given matrix.
"""Returns the indices of the rightmost minimum per row for matrix h."""
flipped = numpy.fliplr(h) # flip the matrix to get the rightmost minimum.
flipped_indices = numpy.argmin(flipped, axis=1)
indices = numpy.array([2]*dim) - flipped_indices
return indices
indices = calculate_row_minima_indices(h)
for col, row in enumerate(indices):
print col, row, h[col][row] # col_index, row_index and value of minimum which should be removed.
各行には最小値があります。だから私が知る必要があるのは、最小値のエントリを削除し、形状のあるマトリックスを形状のあるマトリックスに縮小することです。(1000000,6)
(1000000,5)
より低い次元の新しいマトリックスを生成し、for ループを使用して実行したい値を入力しますが、ランタイムが心配です。行ごとに最小値で行列を縮小するための組み込みの方法またはトリックはありますか?
おそらく、次の情報が役に立ちます。値はすべて 0.0 以上です。