code: def _preprocess_inputs(durations, event_observed, timeline, entry, weights):
      
  
      n = len(durations)
      durations = np.asarray(pass_for_numeric_dtypes_or_raise_array(durations)).reshape((n,))
  
      # set to all observed if event_observed is none
      if event_observed is None:
          event_observed = np.ones(n, dtype=int)
      else:
          event_observed = np.asarray(event_observed).reshape((n,)).copy().astype(int)
  
      if entry is not None:
          entry = np.asarray(entry).reshape((n,))
  
      event_table = survival_table_from_events(durations, event_observed, entry, weights=weights)
      if timeline is None:
          timeline = event_table.index.values
      else:
          timeline = np.asarray(timeline)
  
      return (durations, event_observed, timeline.astype(float), entry, event_table)
docs: Cleans and confirms input to what lifelines expects downstream