consider the pd.DataFrame
df
df = pd.DataFrame([
[1, 2, 3, 4, 5],
[5, 1, 2, 3, 4],
[4, 5, 1, 2, 3],
[3, 4, 5, 1, 2],
[2, 3, 4, 5, 1]
], list('abcde'), list('ABCDE'))
How do I align the diagonal values into columns?
I'd like this as the result
i've done this
pd.DataFrame([np.roll(row, -k) for k, (_, row) in enumerate(df.iterrows())],
df.index, df.columns)
I'm hoping for something more straight forward.