Учитывая следующие данные:
df = pd.DataFrame(
dict(
x1=["zero", "one", "two"],
x2=["three", "four", "five"],
x3=["six", "seven", "eight"],
x4=["nine", "ten", "eleven"],
)
)
, который выглядит как:
In [2]: df
Out[2]:
x1 x2 x3 x4
0 zero three six nine
1 one four seven ten
2 two five eight eleven
Я хотел бы изменить его на следующее
x1 x2
zero three
one four
two five
three six
four seven
five eight
six nine
seven ten
eight eleven
Следующее работает, но я не думаю, что подход является правильным:
c1 = df.columns[: df.shape[1] - 1]
c2 = df.columns[1:]
d1 = df.loc[:, c1].T.values.flatten()
d2 = df.loc[:, c2].T.values.flatten()
pd.DataFrame(dict(x1=d1, x2=d2))