2017-07-03 14 views
0

私はmatrixと呼ぶ2次元配列uint8と、substituteと呼ばれる1次元配列256 uint8を持っています。numpy:ループなしの2次元配列からのuint8値の高速置換

私のコードは次のようであるが、私はループを取り除く必要があります。

def replaceValues(matrix, substitute) : 
    rows = matrix.shape[0] 
    cols = matrix.shape[1] 
    return [ [ substitute[ matrix[i][j] ] for j in range(cols) ] for i in range(rows) ] 

私はnumpy.vectorizeを試してみましたが、それはちょっと遅いのです。

お手伝いできますか? numpyの中indexingを通じて簡単に行うことができます

+0

はあなたがやろうとしているものの入力と出力の例を提供することができますか? –

+0

@GhilasBELHADJ入力と出力の例がなくても、OPの目的を理解するには説明と簡単なコード断片で十分です。 – jdehesa

+0

@jdehesa 'matrix'が' substitute'のインデックスを含んでいると推測するコードを読んでください。それは重要な情報です。 –

答えて

0

matrixWithReplacedValues = substitute[matrix] 
+0

素晴らしい。 私はすべてのコードを追加する古い世代から来ています。もっと理解してください:) – SebMa

+0

@SebMaそれは大丈夫です、それはSOのためです、私は失礼や何かを意味しませんでした。方法。私はdownvotesの理由は(質問または答えで)しかし、わからない。 – jdehesa

+0

私はあなたが下票をしたと思ったので。しかし、今私はこれが管理者か、単純な、単純な、簡単な、等のような単語パターンマッチングを使って自動システムによって行われていると考え始めている。 – SebMa

関連する問題