簡體   English   中英

使用熊貓根據鍵變量將多行轉換為單行

[英]Converting multiple rows to a single row based on key variable using pandas

輸入數據集

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

如何通過熊貓編程獲得預期的數據集?

一種方法是:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM