numpy.delete

  • 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)
posted on 2017-03-25 12:09  未雨愁眸  阅读(270)  评论(0编辑  收藏  举报