Numpy recarray.all() function | Python
Last Updated :
18 Apr, 2019
In numpy, arrays may have a data-types containing fields, analogous to columns in a spreadsheet. An example is [(a, int), (b, float)]
, where each entry in the array is a pair of (int, float). Normally, these attributes are accessed using dictionary lookups such as arr['a'] and arr['b']
.
Record arrays allow the fields to be accessed as members of the array, using arr.a and arr.b
. numpy.recarray.all()
function returns True if all elements in record array evaluate to True.
Syntax : numpy.recarray.all(axis=None, out=None, keepdims=False)
Parameters:
axis : [ None or int or tuple of ints, optional] Axis or axes along which a logical AND reduction is performed.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
keepdims : [ bool, optional] If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.
If the default value is passed, then keepdims will not be passed through to all method of sub-classes of ndarray, however any non-default value will be. If the sub-classes sum method does not implement keepdims any exceptions will be raised.
Returns : [ndarray, bool] It returns True if all elements evaluate to True.
Code #1 :
import numpy as geek
in_arr = geek.array([( 5.0 , 2 ), ( 3.0 , 4 )],
dtype = [( 'a' , float ), ( 'b' , int )])
print ( "Input array : " , in_arr)
rec_arr = in_arr.view(geek.recarray)
print ( "Record array of float: " , rec_arr.a)
print ( "Record array of int: " , rec_arr.b)
out_arr = geek.recarray. all (rec_arr.a)
print ( "Output array: " , out_arr)
out_arr = geek.recarray. all (rec_arr.b)
print ( "Output array: " , out_arr)
|
Output:
Input array : [(5.0, 2) (3.0, 4)]
Record array of float: [ 5. 3.]
Record array of int: [2 4]
Output array: True
Output array: True
Code #2 :
If we apply numpy.recarray.all()
to whole record array then it will give Type error
because the array is flexible or mixed type.
import numpy as geek
in_arr = geek.array([( 5.0 , 2 ), ( 3.0 , 4 )],
dtype = [( 'a' , float ), ( 'b' , int )])
print ( "Input array : " , in_arr)
rec_arr = in_arr.view(geek.recarray)
print ( "Record array " , rec_arr)
out_arr = geek.recarray. all (rec_arr)
print ( "Output array: " , out_arr)
|
Output:
TypeError: cannot perform reduce with flexible type
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...