code: def dtype_checker_df(df, dtype, return_=None):
      
      dtype_range = dtype_ranges[dtype]
      df_out_of_range = (df < dtype_range[0]) | (df > dtype_range[1]) | (~np.isfinite(df))
      if df_out_of_range.any().any():
          if return_== "colsums":
              df_out_of_range = df_out_of_range.apply(sum, axis=0) # column
          elif return_== "rowsums":
              df_out_of_range = df_out_of_range.apply(sum, axis=1) # row
          elif return_== "all":
              df_out_of_range = df_out_of_range
          else:
              df_out_of_range = 1
      else:
          df_out_of_range = 0
      return df_out_of_range
docs: Check if there are NaN values of values outside of a given datatype range.
  
      Arguments:
          df {dataframe} -- A dataframe.
          dtype {str} -- The datatype to check for.
      Keyword Arguments:
          return_ {str} -- Returns a boolean dataframe with the values not in the range of the dtype ('all'),
              the row ('rowsums') or column ('colsums') sums of that dataframe or an exit code 1 (None, default)
              if any of the values is not in the range.
  
      Returns:
          [int or DataFrame or Series] -- If no value is out of the range exit code 0 is returned, else depends on return_.