簡體   English   中英

numpy:如何使用矩陣元素作為索引?

[英]numpy: How can I use matrix elements as index?

我有一個 numpy 整數矩陣,其元素表示索引。 我想創建一個大小相同的矩陣,其元素取自相應索引處的列表。

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 中做到這一點?

好的,我剛剛發現當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] 

暫無
暫無

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

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