- 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)