2017-02-14 100 views
2

根據Pandas 0.19.2文檔,我可以提供參數來創建生成的多索引DataFrame。 (來自熊貓文檔)的一個例子是:大熊貓在列級連接數據幀時添加鍵

result = pd.concat(frames, keys=['x', 'y', 'z']) Merge Dataframe- row multi-index

我怎麼會Concat的數據幀,這樣我可以在列級,而不是指數層面提供的鑰匙?

我基本上需要的是這樣的:

Merge Dataframe - column multi-index

其中DF1和DF2是要CONCAT。

回答

3

這通過pd.concatkeys參數,指定axis=1當支持:

df1 = pd.DataFrame(np.random.random((4, 4)), columns=list('ABCD')) 
df2 = pd.DataFrame(np.random.random((4, 3)), columns=list('BDF'), index=[2, 3, 6, 7]) 

df = pd.concat([df1, df2], keys=['X', 'Y'], axis=1) 

所得輸出:

  X          Y      
      A   B   C   D   B   D   F 
0 0.654406 0.495906 0.601100 0.309276  NaN  NaN  NaN 
1 0.020527 0.814065 0.907590 0.924307  NaN  NaN  NaN 
2 0.239598 0.089270 0.033585 0.870829 0.882028 0.626650 0.622856 
3 0.983942 0.103573 0.370121 0.070442 0.986487 0.848203 0.089874 
6  NaN  NaN  NaN  NaN 0.664507 0.319789 0.868133 
7  NaN  NaN  NaN  NaN 0.341145 0.308469 0.884074