code: def plotting_positions(df, censorship, cohn):
      """
      Compute the plotting positions for the observations.
  
      The ROS-specific plotting postions are based on the observations'
      rank, censorship status, and corresponding detection limit.
  
      Parameters
      ----------
      df : DataFrame
  
      censorship : str
          Name of the column in the dataframe that indicates that a
          observation is left-censored. (i.e., True -> censored,
          False -> uncensored)
  
      cohn : DataFrame
          DataFrame of Cohn numbers.
  
      Returns
      -------
      plotting_position : array of float
  
      See Also
      --------
      cohn_numbers
      """
  
      plot_pos = df.apply(
          lambda r: _ros_plot_pos(r, censorship, cohn), axis=1
      )
  
      # correctly sort the plotting positions of the ND data:
      ND_plotpos = plot_pos[df[censorship]]
      ND_plotpos_arr = np.require(ND_plotpos, requirements="W")
      ND_plotpos_arr.sort()
      plot_pos.loc[
          df[censorship].index[df[censorship]]
      ] = ND_plotpos_arr
  
      return plot_pos
  
file_path: statsmodels/statsmodels/imputation/ros.py
imports: import warnings
  import numpy
  import pandas
  from scipy import stats
label_desc: Use image node_id 7 for calling a global function with example usage: plotting_positions(df, censorship, cohn) and returns: plot_pos