sample = pd.DataFrame({'Cat':['A','B','C','A','B','C','A','B','C'],
'Year':[2001,2002,2003,2001,2002,2003,2001,2002,2003]})
for s in sample.groupby(['Year']):
print s[0]
那会给出
2001
2002
2003
如何按降序对groupby结果进行排序以获取..
2003
2002
2001
答案 0 :(得分:2)
我认为您最好的选择是提前对帧进行排序,并将sort=False
传递给groupby操作,以便数据不会重新排序。
In [78]: sample = sample.sort(['Year'], ascending=False)
In [79]: for s in sample.groupby(['Year'], sort=False):
...: print s[0]
...:
2003
2002
2001
答案 1 :(得分:0)
您可以按升序和降序对pandas数据框进行排序,如下所示:
result = df.sort(['Year'], ascending=0 )
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort.html