watex.utils.funcutils.ismissing#

watex.utils.funcutils.ismissing(refarr, arr, fill_value=nan, return_index=False)[source]#

Get the missing values in array-like and fill it to match the length of the reference array.

The function makes sense especially for frequency interpollation in the ‘attenuation band’ when using the audio-frequency magnetotelluric methods.

Parameters
  • arr – array-like- Array to be extended with fill value. It should be shorter than the refarr. Otherwise it returns the same array arr

  • refarr – array-like- the reference array. It should have a greater length than the array

  • fill_value – float - Value to fill the arr to match the length of the refarr.

  • return_index – bool or str - array-like, index of the elements element in arr. Default is False. Any other value should returns the mask of existing element in reference array

Returns

array and values missings or indexes in reference array.

Example

>>> import numpy as np
>>> from watex.utils.funcutils import ismissing
>>> refreq = np.linspace(7e7, 1e0, 20) # 20 frequencies as reference
>>> # remove the value between index 7 to 12 and stack again
>>> freq = np.hstack ((refreq.copy()[:7], refreq.copy()[12:] ))
>>> f, m  = ismissing (refreq, freq)
>>> f, m
...array([7.00000000e+07, 6.63157895e+07, 6.26315791e+07, 5.89473686e+07,
       5.52631581e+07, 5.15789476e+07, 4.78947372e+07,            nan,
                  nan,            nan,            nan,            nan,
       2.57894743e+07, 2.21052638e+07, 1.84210534e+07, 1.47368429e+07,
       1.10526324e+07, 7.36842195e+06, 3.68421147e+06, 1.00000000e+00])
>>> m # missing values
... array([44210526.68421052, 40526316.21052632, 36842105.73684211,
       33157895.2631579 , 29473684.78947368])
>>>  _, m_ix  = ismissing (refreq, freq, return_index =True)
>>> m_ix
... array([ 7,  8,  9, 10, 11], dtype=int64)
>>> # assert the missing values from reference values
>>> refreq[m_ix ] # is equal to m
... array([44210526.68421052, 40526316.21052632, 36842105.73684211,
       33157895.2631579 , 29473684.78947368])