我知道分配給雙索引陣列時會產生不好的結果,因為您分配給視圖而不是直接分配給陣列,但我無法弄清楚如何正確分配給雙索引陣列:
import numpy as np
foo = np.array([1, 2, 3, 4, 5])
bar = np.array([False, True, True, True, False])
foo[bar][1:2] = np.array([30, 40])
foo #array([1, 2, 30, 40, 5])
有沒有辦法為雙索引陣列分配一個值(陣列)?
uj5u.com熱心網友回復:
假設您要使用布爾陣列和該陣列中的 True 值的切片進行索引,則需要計算另一個布爾陣列來總結這些條件。
這是一種基于布爾陣列索引的可能方法:
idx = np.arange(len(bar))
foo[idx[bar][1:3]] = np.array([30, 40])
輸出:array([ 1, 2, 30, 40, 5])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/471434.html
