Numpy recarray.var() function | Python

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.var() function returns the variance of the array elements, along given axis.

Syntax : numpy.recarray.var(axis=None, dtype=None, out=None, ddof=0, keepdims=False)



Parameters:
axis : [int or tuples of int] axis along which we want to calculate the variance. Otherwise, it will consider arr to be flattened (works on all the axis). axis = 0 means variance along the column and axis = 1 means variance along the row.
dtype : [data-type, optional] Type we desire while computing variance.
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.
ddof : [int, optional] Delta Degrees of Freedom”: the divisor used in the calculation is N – ddof, where N represents the number of elements. By default ddof is zero.
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.

Return : [ndarray] If out=None, returns a new array containing the variance; otherwise, a reference to the output array is returned.

Code #1 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program explaining
# numpy.recarray.var() method 
  
# importing numpy as geek
import numpy as geek
  
# creating input array with 2 different field 
in_arr = geek.array([[(5.0, 2), (3.0, -4), (6.0, 9)],
                     [(9.0, 1), (5.0, 4), (-12.0, -7)]],
                     dtype =[('a', float), ('b', int)])
  
print ("Input array : ", in_arr)
  
# convert it to a record array,
# using arr.view(np.recarray)
rec_arr = in_arr.view(geek.recarray)
print("Record array of float: ", rec_arr.a)
print("Record array of int: ", rec_arr.b)
  
# applying recarray.var methods
# to float record array along axis 1
out_arr = rec_arr.a.var(axis = 1)
print ("Output array containing variance along axis 1: ", out_arr) 
  
# applying recarray.var methods
# to float record array along axis 0
out_arr = rec_arr.a.var(axis = 0)
print ("Output array containing variance along axis 0: ", out_arr) 
  
# applying recarray.var methods
# to float record array along default axis
out_arr = rec_arr.a.var()
print ("Output array containing variance along default axis : ", out_arr) 
  
  
# applying recarray.var methods
# to int record array along axis 1
out_arr = rec_arr.b.var(axis = 1)
print ("Output array containing variance along axis 1: ", out_arr) 
  
# applying recarray.var methods
# to int record array along axis 0
out_arr = rec_arr.b.var(axis = 0)
print ("Output array containing variance along axis 0: ", out_arr) 
  
# applying recarray.var methods
# to int record array along default axis
out_arr = rec_arr.b.var()
print ("Output array containing variance along default axis : ", out_arr) 

chevron_right


Output:

Input array :  [[(  5.,  2) (  3., -4) (  6.,  9)]
 [(  9.,  1) (  5.,  4) (-12., -7)]]
Record array of float:  [[  5.   3.   6.]
 [  9.   5. -12.]]
Record array of int:  [[ 2 -4  9]
 [ 1  4 -7]]
Output array containing variance along axis 1:  [ 1.55555556 82.88888889]
Output array containing variance along axis 0:  [ 4.  1. 81.]
Output array containing variance along default axis :  46.22222222222222
Output array containing variance along axis 1:  [28.22222222 21.55555556]
Output array containing variance along axis 0:  [ 0.25 16.   64.  ]
Output array containing variance along default axis :  27.138888888888882


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.