code: def numeric_function_clean_dataframe(self, axis):
          
          result = None
          query_compiler = self
          # If no numeric columns and over columns, then return empty Series
          if not axis and len(self.index) == 0:
              result = pandas.Series(dtype=np.int64)
  
          nonnumeric = [
              col
              for col, dtype in zip(self.columns, self.dtypes)
              if not is_numeric_dtype(dtype)
          ]
          if len(nonnumeric) == len(self.columns):
              # If over rows and no numeric columns, return this
              if axis:
                  result = pandas.Series([np.nan for _ in self.index])
              else:
                  result = pandas.Series([0 for _ in self.index])
          else:
              query_compiler = self.drop(columns=nonnumeric)
          return result, query_compiler
docs: Preprocesses numeric functions to clean dataframe and pick numeric indices.
  
          Args:
              axis: '0' if columns and '1' if rows.
  
          Returns:
              Tuple with return value(if any), indices to apply func to & cleaned Manager.