选项1
无法100%确定效率,但最简单的方法是使用 df.melt
。
df.rename_axis('row') .reset_index() .melt('row', value_name='val', var_name='col') .sort_values(['row', 'col']) row col val0 A A 13 A B 26 A C 31 B A 44 B B 57 B C 62 C A 75 C B 88 C C 9选项2
另一个简单的选项 stack
-
v = df.stack().reset_index()v.columns=['row', 'col', 'val']v
要么,
df.stack().rename_axis(['row', 'col']).reset_index(name='val') row col val0 A A 11 A B 22 A C 33 B A 44 B B 55 B C 66 C A 77 C B 88 C C 9



