如何根据条件过滤二维NumPy数组
在这篇文章中,我们将看到如何在NumPy二维数组中根据给定的条件应用过滤器。我们必须从现有数组或新数组中获得所需元素的输出,即我们想要过滤的元素。
**这里我们要在numpy中创建一个二维数组。
输出:
现在让我们看看在NumPy二维数组中通过给定条件应用过滤器的一些例子。
例子1:使用np.asarray()方法
在这个例子中,我们使用的是np.asarray()方法,其解释如下。
语法 : numpy.asarray(arr, dtype=None, order=None)
参数 :
- arr : [array_like] 输入数据,以任何可以转换为数组的形式。这包括列表、图元的列表、图元、图元的图元、列表的图元和 ndarrays。
- dtype : [数据类型,可选] 默认情况下,数据类型是由输入数据推断出来的。
- order :是否使用行为主(C-style)或列为主(Fortran-style)的内存表示。默认为 “C”。
返回值: [ndarray] arr的阵列解释。如果输入已经是ndarray的dtype和顺序匹配,则不进行复制。如果arr是ndarray的子类,将返回基类ndarray。
在这里,我们首先创建了一个numpy数组和一个带有要过滤的值的过滤器。为了过滤,我们在numpy.in1d()方法中使用了这个fltr,并将其值存储在原始数组中,如果条件满足则返回真。
输出:
示例2:使用numpy.all()方法
在这个例子中,我们使用的是np.all()方法,其解释如下。
numpy.all()函数测试沿所述轴的所有数组元素是否评估为真。
语法: numpy.all(array, axis = None, out = None, keepdims = class numpy._globals._NoValue at 0x40ba726c)
参数 :
Array : [array_like]输入数组或对象的元素,我们需要测试。
axis : [int or tuple of ints, optional]数组元素被评估的轴。
out : [ndarray, optional]输出数组,其尺寸与输入数组相同,与结果一起放置。
keepdims : [boolean, optional]如果这个选项被设置为True。
返回 : 一个新的布尔数组,如’out’参数所示。
在这里,我们首先通过使用np.arrange()和reshape()方法创建一个numpy数组。为了过滤,我们在要过滤的索引处使用了条件。如果所有的值都满足条件,np.all()方法返回True。这个返回值与原始数组映射,得到过滤后的值。
输出:
示例3:使用numpy.any()方法
在这个例子中,我们使用的是np.any()方法,其解释如下。
numpy.any()函数测试沿所述轴的任何数组元素是否评估为真
语法 :numpy.any(a, axis = None, out = None, keepdims = class numpy._globals._NoValue at 0x40ba726c)
参数 :
array : [array_like]输入数组或对象的元素,我们需要测试。
axis : [int or tuple of ints, optional]数组元素被评估的轴。
out : [ndarray, optional]输出数组,其尺寸与输入数组相同,放置结果。
keepdmis : [boolean, optional]如果该选项被设置为True。
返回 : 一个新的布尔数组,如’out’参数所示。
在这里,我们首先通过使用np.arrange()和reshape()方法创建一个numpy数组。为了过滤,我们在要过滤的索引处使用了条件。np.any()方法在任何数值满足条件的情况下返回真。这个返回值与原始数组映射,得到过滤后的值。
输出: