def _create_start_end(levels):
 rads = levels[0].copy()
 for level in levels[1:]:
  rads = (rads * level)
 rads *= (2 * np.pi)
 end = rads.cumsum()
 start = shift_series(end)
 return (start, end)

def _create_start_end ( levels ) : rads = levels [ 0 ] . copy ( ) for level in levels [ 1 : ] : rads = ( rads * level ) rads *= ( 2 * np . pi ) end = rads . cumsum ( ) start = shift_series ( end ) return ( start , end )
produces wedge start and end values from list of dataframes for each level .