X = pd.DataFrame(data=[[1, 0, 90], [1, 10, 80], [1, 20, 70], [2, 30, 60], [
    2, 40, 50], [2, 50, 40], [3, 60, 30], [3, 70, 20], [3, 80, 10]],
    columns=['user', 'order', 'value'])
groups = X.groupby('user').apply(lambda x: x.sort_values('order').value.values)
X_prime = pd.DataFrame(data=[i.astype(np.int) for i in groups.values],
    index=groups.index)
Groupby and reshape long to wide formatted dataframe while aggregating elements as arrays