Python 熊猫中的数据帧排序
考虑以下数据集:Python 熊猫中的数据帧排序,python,pandas,sorting,Python,Pandas,Sorting,考虑以下数据集: seq_id a b id 1 20 13 1 2 21 14 1 3 18 19 1 1 22 15 2 2 21 14 2 1 25 12 1 2 27 13 1 我需要按id对数据集进行排序,但是对于特定id,我有多个组。例如,有两组id 1。 我需要以下结果: seq_id a b id 1 20 13 1 2 21 14 1 3
seq_id a b id
1 20 13 1
2 21 14 1
3 18 19 1
1 22 15 2
2 21 14 2
1 25 12 1
2 27 13 1
我需要按id对数据集进行排序,但是对于特定id,我有多个组。例如,有两组id 1。
我需要以下结果:
seq_id a b id
1 20 13 1
2 21 14 1
3 18 19 1
1 25 12 1
2 27 13 1
1 22 15 2
2 21 14 2
我尝试了这个不正确的脚本:
sort = lambda x: sorted(x,reverse=False)
data = data.sort_values(by=['id'],ascending=True)
data.groupby('id').seq_id.apply(sort)
谢谢你的评论
或者是否有任何方法可以更改第二个组的名称id=1以将它们彼此分开。例如,对于第一组id=1和第二组id=1-1,请尝试:
data = data.sort_values(by=['id'], ascending=True, kind='mergesort')
添加kind='mergesort'
将切换sort_值
调用以使用“稳定”排序算法(请参阅),这意味着对于排序标准具有相等值的行,将保留原始行顺序