簡體   English   中英

從 numpy 數組中查找並刪除列

[英]Find and delete column from numpy array

我正在嘗試從數組中刪除特定列:

data = array([[ 6,  3,  3],
              [ 7,  4, -1]])

target = array([[3]
                [-1]])

我想在data中找到與target相同的列的索引,以便我可以調用:

np.delete(data, index, axis=1)

看起來allwhere的某種組合可能是答案,但我就是無法解決。

mask (data == target).all(axis=0)將檢查列的相等性。 您不需要對wheredelete做任何事情。 只需按原樣使用掩碼:

mask = (data == target).all(axis=0)
data = data[:, ~mask]

事實上,計算不同元素的掩碼可能會更快,因為那些是你想要保留的。

mask = (data != target).any(axis=0)
data = data[:, mask]

暫無
暫無

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

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