팬더

2014-10-12 9 views
0

팬더

Var1  Var2 Var3 Var4 

101 XXX  yyyy 12/10/2014 

101 XYZ  YTRT 13/10/2014 

102 TTY  UUUU 9/9/2014 

102 YTY  IUYY 10/10/2014 

출력 데이터 세트는 예상 입력 데이터 세트를 사용하여 주요 변수에 기초하여 하나의 행에 복수의 열 변환 :

예상 데이터 집합 팬더 프로그래밍을 통해 달성 될 수있는 방법
Var1 Var2  Var3   Var4 

101 XXX,XYZ yyyy,YTRI  12/10/2014, 13/10/2014 

102 TTY,YTY UUUU,IUYY  9/9/2014, 10/10/2014 

?

답변

1

한 가지 방법은 다음과 같습니다

import pandas as pd 

data = {'Var1': {0: 101, 1: 101, 2: 102, 3: 102}, 
'Var2': {0: 'XXX', 1: 'XYZ', 2: 'TTY', 3: 'YTY'}, 
'Var3': {0: 'yyyy', 1: 'YTRT', 2: 'UUUU', 3: 'IUYY'}, 
'Var4': {0: '12/10/2014', 1: '13/10/2014', 2: '9/9/2014', 3: '10/10/2014'}} 

df = pd.DataFrame(data) 
df.set_index('Var1', inplace=True) 
print df 

    Var2 Var3  Var4 
Var1      
101 XXX yyyy 12/10/2014 
101 XYZ YTRT 13/10/2014 
102 TTY UUUU 9/9/2014 
102 YTY IUYY 10/10/2014 

f = lambda x: ','.join(x) 
print df.groupby(level='Var1', as_index=True).transform(f).drop_duplicates().reset_index() 

    Var1  Var2  Var3     Var4 
0 101 XXX,XYZ yyyy,YTRT 12/10/2014,13/10/2014 
1 102 TTY,YTY UUUU,IUYY 9/9/2014,10/10/2014