Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何复制到列的范围而不是列表?_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 如何复制到列的范围而不是列表?

Python 3.x 如何复制到列的范围而不是列表?,python-3.x,pandas,Python 3.x,Pandas,我希望在一个数据帧中附加几列 假设我从这个开始: 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:

我希望在一个数据帧中附加几列

假设我从这个开始:

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。

您在寻找什么

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[dfX,dfY,dfZ],axis=1

如果您需要从dfY向dfX追加D和E列,请选择

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

以下是我的结论:dfX=pd.concat[dfX,dfY.iloc[:,1:3]],axis=1