def _nan_rows(*arrs):
 if (len(arrs) == 1):
  arrs += ([[False]],)
 def _nan_row_maybe_two_inputs(x, y):
  x_is_boolean_array = (hasattr(x, 'dtype') and (x.dtype == bool) and x)
  return np.logical_or(_asarray_2d_null_rows(x), (x_is_boolean_array | _asarray_2d_null_rows(y)))
 return reduce(_nan_row_maybe_two_inputs, arrs).squeeze()

def _nan_rows ( * arrs ) : if ( len ( arrs ) == 1 ) : arrs += ( [ [ False ] ] , ) def _nan_row_maybe_two_inputs ( x , y ) : x_is_boolean_array = ( hasattr ( x , 'dtype' ) and ( x . dtype == bool ) and x ) return np . logical_or ( _asarray_2d_null_rows ( x ) , ( x_is_boolean_array | _asarray_2d_null_rows ( y ) ) ) return reduce ( _nan_row_maybe_two_inputs , arrs ) . squeeze ( )
returns a boolean array which is true where any of the rows in any of the _2d_ arrays in arrs are nans .