【发布时间】:2021-10-07 16:42:39
【问题描述】:
我有一个 pandas 数据框,如下图:
Timestamp_Start Event_ID Duration
555.54944 Fix_1 0.42248
559.07281 Fix_10 0.01996
559.14642 Fix_11 0
556.03192 Fix_2 0.16113
556.27985 Fix_3 0.24188
556.56097 Fix_4 0.04987
556.65497 Fix_5 0.10748
556.80859 Fix_6 0.75708
557.57983 Fix_7 0.11329
557.75348 Fix_8 0.65643
558.43665 Fix_9 0.27447
555.97925 Sac_1 0.04577
559.09961 Sac_10 0.0404
559.15302 Sac_11 0.00726
556.19916 Sac_2 0.07403
556.52747 Sac_3 0.02789
556.61865 Sac_4 0.02985
556.76849 Sac_5 0.0337
557.57294 Sac_6 0
557.69965 Sac_7 0.04687
558.41632 Sac_8 0.01325
558.71796 Sac_9 0.34552
我想对“Event_ID”列进行排序,以便 Fix_1,Fix_2,Fix_3... 和 Sac_1,Sac_2,Sac_3... 按顺序出现,如下所示:
Timestamp_StartEvent_ID Duration
555.54944 Fix_1 0.42248
556.03192 Fix_2 0.16113
556.27985 Fix_3 0.24188
556.56097 Fix_4 0.04987
556.65497 Fix_5 0.10748
556.80859 Fix_6 0.75708
557.57983 Fix_7 0.11329
557.75348 Fix_8 0.65643
558.43665 Fix_9 0.27447
559.07281 Fix_10 0.01996
559.14642 Fix_11 0
555.97925 Sac_1 0.04577
556.19916 Sac_2 0.07403
556.52747 Sac_3 0.02789
556.61865 Sac_4 0.02985
556.76849 Sac_5 0.0337
557.57294 Sac_6 0
557.69965 Sac_7 0.04687
558.41632 Sac_8 0.01325
558.71796 Sac_9 0.34552
559.09961 Sac_10 0.0404
559.15302 Sac_11 0.00726
关于如何做到这一点的任何想法?感谢您的帮助。
【问题讨论】:
-
直接排序似乎可以工作,如果修复信息,Event_ID 是单列吗?
df.sort_values('Event_ID', inplace=True) -
很遗憾,.sort_values() 不起作用。
-
你能解释一下为什么它不起作用吗?您还可以添加
sort_values的输出并添加到问题中并指出它不起作用的确切位置。 -
仅使用排序,会将下划线后面的整数视为字符串,不会给出所需的顺序。