2017-09-06 54 views
1

我想將一個熊貓數據框與數據透視表合併,並更改列名稱。我是否可以保留原始列名稱而不將它們合併到一個列中?與數據透視表合併更改列名

df1: 

    pn number_of_records date  
A103310  0    2017-09-01 
B103309  0    2017-06-01 
C103308  0    2017-03-01 
D103307  2    2016-12-01 
E103306  2    2016-09-01 

DF2這是一個透視表:

pn     t1 
        a1 b1 c1 
A103310   3432 324 124 
B103309   342  123 984 
C103308   435  487 245 
D103307   879  358 234 
E103306   988  432 235 

做這個數據幀合併給了我:

df1_df2 = pd.merge(df1,df2,how="left",on="pn") 

給我的列名:

pn number_of_records date (t1,a1) (t1,b1) (t1,c1) 

我怎樣才能讓他們成爲:

pn number_of_records date   t1 
          a1 b1 c1 

合併後的數據幀?

回答

1

添加水平列df1

pd.concat([df1], axis=1, keys=['']).swaplevel(0, 1, 1).merge(df2, on='pn') 

     pn number_of_records  date t1   
              a1 b1 c1 
0 A103310     0 2017-09-01 3432 324 124 
1 B103309     0 2017-06-01 342 123 984 
2 C103308     0 2017-03-01 435 487 245 
3 D103307     2 2016-12-01 879 358 234 
4 E103306     2 2016-09-01 988 432 235