2017-03-24 39 views
0

我正在寻找将几列添加到数据框。如何复制到列的范围而不是列表?

比方说,我开始与此:

import pandas as pd 

dfX = pd.DataFrame({'A': [1,2,3,4],'B': [5,6,7,8],'C': [9,10,11,12]}) 
dfY = pd.DataFrame({'D': [13,14,15,16],'E': [17,18,19,20],'F': [21,22,23,24]}) 

我能够通过定义列表形式新列到dfY列追加到dfX

dfX[[3,4]] = dfY.iloc[:,1:3].copy() 

...但我会宁可这样做:

dfX.iloc[:,3:4] = dfY.iloc[:,1:3].copy() 

前者的作品!后者执行,不返回错误,但不会更改dfX

回答

1

您是否在寻找

dfX = pd.concat([dfX, dfY], axis = 1) 

它返回

A B C D E F 
0 1 5 9 13 17 21 
1 2 6 10 14 18 22 
2 3 7 11 15 19 23 
3 4 8 12 16 20 24 

而且可以追加在这个喜欢pd.concat几个dataframes([DFX,DFY,DFZ]轴= 1)

如果需要追加说只有列d和E从DFY到DFX,去

pd.concat([dfX, dfY[['D', 'E']]], axis = 1) 
+0

下面是我最终得到的结果: dfX = pd.concat([dfX,dfY.iloc [:,1:3]],axis = 1) –

相关问题