2016-11-17 1 views
1

여기하나의 열로 그룹화하고 다른 열의 값을 정렬하는 방법은 무엇입니까?

import pandas as pd 
df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] , 
        'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] , 
        'C': ['12/15/2011', '11/11/2001', '08/30/2015', '07/3/1999','03/03/2000' ], 
         'D':[1,7,3,4,5]}) 

내 목표는 열 B에 의해 열 A 및 종류 내에서 그룹화 결과에 그룹 내 dataframe이다. 여기

내가 생각 해낸 것입니다 :

sort_group = df.sort_values('B').groupby('A') 

내가 작업을 그룹화하는 순서를 왜곡하지 않을 것이라고 기대했다,하지만 작동하지 않고 또한 dataframe을하지 반환하지만 groupby 객체

<pandas.core.groupby.DataFrameGroupBy object at 0x0000000008B190B8> 

제안 사항이 있으십니까?

답변

4

당신은 groupby 객체에 직접 sort_values을 적용 할 수 있지만, 당신은 apply 필요

  A B   C D 
A        
one 0 one Ar 12/15/2011 1 
    4 one Ar 03/03/2000 5 
    1 one Br 11/11/2001 7 
two 3 two Ar 07/3/1999 4 
    2 two Cr 08/30/2015 3 
:

df.groupby('A').apply(lambda x: x.sort_values('B')) 

당신에게 원하는 출력을 제공합니다

관련 문제