code: def _coerce_df_dtypes(obj):
      """Coerce pandas objects to non-nullable column types.
  
      Returns shallow copy and does not mutate input `obj`.
  
      Parameters
      ----------
      obj: pandas Series or DataFrame, or any object
  
      Returns
      -------
      obj unchanged, if obj is not pandas Series or DataFrame
      if obj is pandas Series or DataFrame,
          coerces nullable numeric columns to float (by reference via astype)
      """
      if isinstance(obj, pd.Series):
          if _is_nullable_numeric(obj.dtype):
              return obj.astype("float")
          return obj
  
      if isinstance(obj, pd.DataFrame):
          nullable_cols = [
              col
              for col in obj.columns
              if _is_nullable_numeric(obj.dtypes[col])
          ]
          if len(nullable_cols) > 0:
              obj = obj.astype({col: "float" for col in nullable_cols})
          return obj
  
      return obj
  
label_desc: Use image node_id 2 for calling a global function with example usage: _coerce_df_dtypes(obj) and returns: obj, obj, obj, obj