我有一个数据集,有以下几列--ID、旧阶段、新阶段和周期号。 每个ID都有多行(2+),描述了新旧阶段之间的一系列来回;这由周期号详细说明。
我试图按ID对多行进行分组(这很好),但在这个分组中,我想按周期数进行排序。例如,如果ID 1有6个周期,我想把6号周期列在第一位,然后是5、4、3,等等。
grouped2 = df.groupby(['ID', 'Old_Stage', 'New_Stage'], as_index=False)['Cycle_Number'].max().sort_values(['Cycle_Number'], ascending=False)
print(grouped2)
这就是我所尝试的,然而,它只按降序对周期号进行排序,而非within the ID grouping.
当前的数据框架。
|ID |Old Stage |New Stage |Cycle Number|
|100|In Progress |Under Review|1
|100|Not Started |In Progress |0
|100|Under Review|Completed |2
|100|Completed |In Progress |3
希望的数据框架。
|ID |Old Stage |New Stage |Cycle Number|
|100|Completed |In Progress |3
| |Under Review|Completed |2
| |In Progress |Under Review|1
| |Not Started |In Progress |0