我有一个数据帧数据框
Cat B_1 A_2 C_3
A 1 2 3
B 4 5 6
C 7 8 9
我想把它转换成一个dataframe,这样column Label中的行按照每个类别的df列的顺序排列。在
^{pr2}$当我尝试
pd.melt(df, id_vars=["Cat"], var_name="Label",value_name="Value")
我失去了列标签中所需的顺序,结果如下所示排序
Cat Label Value
A B_1 1
B B_1 4
C B_1 7
A A_2 2
...
在熔融功能中,可以强制要求行的顺序吗? 如果没有,如何实现这种自定义排序?
更新
我重新命名了标签,因为它们不遵循字母顺序,所以简单的排序就不起作用了
IIUC,您可以使用完全相同的代码并添加
.sort_values('Cat')
,或者更简单:如果要以自定义方式对其进行排序(在下面的示例中,}设置为有序类别:
^{pr2}$B
位于A
之前,C
)则可以将{另一种方法是使用
stack
,但随后必须处理令人讨厌的列重命名:相关问题 更多 >
编程相关推荐