1. 程式人生 > >numpy tricks(二)—— 刪除多維陣列的行或列

numpy tricks(二)—— 刪除多維陣列的行或列

  • numpy 下的多維陣列,如果要刪除其中的某些行,或某些列,不可以用置空的方式,進行設定;
    • A[1, :] = None, ⇒ 會將 A 中的第一行資料全部置為 Nan

1. 使用切片(slice)

比如刪除第一行:

B = A[1:, :]

注意此時得到的 B 是 A 通過切片索引的方式得到的,也即 B 相當於 A 的一個檢視(view),此時對 B 的任何修改操作,也會順帶修改 A 中的相應資料。

2. 使用 mask

刪除第 0 列和第 2 列:

mask = [True]*A.shape[1]
mask[0, 2] = False
B = A[:, mask]

3. 使用 np.delete()

對於一個二維陣列,axis=0,表示行,axis=1,表示列

這裡刪除第 0 行,第 2 行,第 4 行:

np.delete(A, [0, 2, 4], axis=0)