मेरे पास पूर्णांकों का एक संख्यात्मक मैट्रिक्स है जिसके तत्व सूचकांकों का प्रतिनिधित्व करते हैं। मैं उसी आकार का एक मैट्रिक्स बनाना चाहता हूं जिसके तत्व संबंधित सूचकांक की सूची से लिए गए हैं।

import numpy as np

matrix = np.array([[0, 1, 1], [2, 0, 1]], dtype=int)
matrix

# array([[0, 1, 1],
#        [2, 0, 1]])

values = [7, 8, 9]

values[matrix]  # gives 'ValueError: can only convert an array of size 1 to a Python scalar'

अपेक्षित उत्पादन:

    # array([[7, 8, 8],
    #        [9, 7, 8]])

मैं इसे numpy में कैसे कर सकता हूं?

1
AEF 22 अक्टूबर 2020, 11:31

1 उत्तर

सबसे बढ़िया उत्तर

ठीक है, मुझे अभी पता चला है कि जब values सूची के बजाय np.ndarray भी होता है तो मैं अपेक्षा के अनुरूप काम करता हूं। तो यह काम करता है:

import numpy as np

matrix = np.array([[0, 1, 1], [2, 0, 1]], dtype=int)
matrix

# array([[0, 1, 1],
#        [2, 0, 1]])

values = np.array([7, 8, 9])

values[matrix] 
2
AEF 22 अक्टूबर 2020, 11:34