我想檢查兩個ndarrays是否具有相同基礎ndarray的重疊視圖。如何檢查兩塊numpy陣列是否相同(或重疊)?
要檢查兩片完全相同的,我可以這樣做:
a.base is b.base and a.shape == b.shape and a.data == b.data
緩衝區的比較似乎一個簡單的例子來工作 - 任何人都可以告訴我,如果它的工作原理有什麼看法?
不幸的是,這不適用於重疊切片,我還沒有想出如何從緩衝區中提取它的偏移量在底層數據 - 也許有人可以幫助我呢?
而且,說a
和b
是x
片,c
是b
片。由於基礎數據是相同的,我還想檢測c
和a
之間的重疊。看起來,我應該能夠逃避比較緩衝區和形狀......如果有人能夠確切地告訴我如何,我會很感激。
什麼樣的情況可能會導致失敗?如果它只是交錯切片而產生誤報的非統一步驟,那麼我可以忍受這一點......。 – shaunc
'x [0 :: 2]'/'x [1 :: 2]'。 'x [:,0:5]','x [:, 5:10]'。 'x = np.dstack(* args); np.may_share_memory(x [0],x [1])'。 –