df = pd.DataFrame(np.random.random(size=n), index=['row1', 'row2'] * (n // 2))

def pir2(s):
    s.index = [s.groupby(level=0).cumcount(), s.index]
return s.unstack()
Панды: объединение элементов с одинаковым индексом