我正在處理大量的數組,並且我想知道是否有辦法使用別名,以便使用數組子集的操作不需要「reslice」數組每次更新全局數組時。別名numpy數組的部分
例如:
values = np.array([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000])
index = np.array([2, 4, 8, 9])
sub_val = values[index]
這將返回sub_val以下:
sub_val = [300 500 900 1000]
如果我改變原來的數組:
values += 1
sub_val仍返回:
sub_val = [300 500 900 1000]
,而不是所期望的:在此基礎上
sub_val = [301 501 901 1001]
,我假設所有索引/切片操作創建一個淺表副本。有沒有辦法讓sub_val成爲數組子集的別名?
目標是儘可能有效地做到這一點(子集矩陣用於數千次迭代)。
我想你可以創建自己的slice_view類來獲得該行爲。 – Gonmator
不適用於該索引。查看有關視圖v副本和基本v高級索引的文檔。 – hpaulj
* basic * slicing返回一個視圖,並且應該比* advanced *索引更快 – RomanPerekhrest