如何删除多行 NumPy 数组?例如,我想删除 x
的前五行。我正在尝试以下代码:
import numpy as np
x = np.random.rand(10, 5)
np.delete(x, (0:5), axis=0)
但它不起作用:
np.delete(x, (0:5), axis=0)
^
SyntaxError: invalid syntax
原文由 vcx34178 发布,翻译遵循 CC BY-SA 4.0 许可协议
有几种方法可以从 NumPy 数组中删除行。
最简单的方法是像使用标准 Python 列表一样使用 基本索引:
您不仅可以选择行,还可以选择列:
另一种方法是使用“ 花式索引”(使用数组索引数组):
您可以使用
np.take
实现相同的目的:另一种选择是使用
np.delete
如问题所示。为了选择要删除的行/列,它可以接受slice
对象、int
或整数数组:但是一直以来我一直在使用 NumPy 我从来不需要这个
np.delete
,因为在这种情况下使用 布尔索引 要方便得多。例如,如果我想删除/选择那些以大于 12 的值开头的行,我会这样做:
有关更多信息,请参阅有关索引的文档: https ://docs.scipy.org/doc/numpy/reference/arrays.indexing.html