如何旋转带有后缀列的数据框?

How to pivot a data frame with suffixed columns?

我有一个具有以下结构的 pandas 数据框:

Frame     P_1_x  P_1_y  P_2_x  P_2_y ... P_N_x P_N_y
0         1      9      6      2         4     3 

我想将其转换为:

      x   y
P_1   1   9 
P_2   6   2 
.
.
.
P_N   4   3

pandas有什么有效的方法吗?

我尝试使用 pandas.wide_to_long() 函数和多重索引,但在我的情况下无法正常工作。

拆分_周围的列并使用expand参数转换为多索引,然后堆叠多索引列进行整形:

s = df.set_index('Frame')
s.columns = s.columns.str.rsplit(r'_', 1, expand=True)
out = s.stack(0).droplevel(0)

     x  y
P_1  1  9
P_2  6  2
...
P_N  4  3