我试图在一个pandas组内进行排序,而不实际更改数据帧中的组位置。你知道吗
原始数据帧的格式如下:
group name revenue
0 GroupB Name1 1
1 GroupB Name2 2
2 GroupB Name3 3
3 GroupA Name4 4
4 GroupA Name5 5
5 GroupA Name6 6
我正在努力取得以下成果:
group name revenue
0 GroupB Name3 3
1 GroupB Name2 2
2 GroupB Name1 1
3 GroupA Name6 6
4 GroupA Name5 5
5 GroupA Name4 4
这是我的密码:
import pandas as pd
df = pd.DataFrame({'name': ['Name1','Name2','Name3','Name4','Name5','Name6'],
'group':['GroupB','GroupB','GroupB','GroupA','GroupA','GroupA'],'revenue':[1,2,3,4,5,6]})
def sort_group(grp):
grp = grp.sort(columns='revenue',ascending=False)
return grp
df = df.groupby('group').apply(sort_group)
print df
我得到的结果是:
group name revenue
group
GroupA 5 GroupA Name6 6
4 GroupA Name5 5
3 GroupA Name4 4
GroupB 2 GroupB Name3 3
1 GroupB Name2 2
0 GroupB Name1 1
基本上,我现在的代码将B组移到A组之下,但我希望B组保持在顶部。你知道吗
有什么想法吗?提前谢谢。你知道吗
比如:
它给了我
相关问题 更多 >
编程相关推荐