Python 如何在没有任何索引的情况下合并两个数据帧

Python 如何在没有任何索引的情况下合并两个数据帧,python,pandas,Python,Pandas,假设我有两个数据帧X和Y: import pandas as pd X = pd.DataFrame({'A':[1,4,7],'B':[2,5,8],'C':[3,6,9]}) Y = pd.DataFrame({'D':[1],'E':[11]}) In [4]: X Out[4]: A B C 0 1 2 3 1 4 5 6 2 7 8 9 In [6]: Y Out[6]: D E 0 1 11 然后,我想得到以下结果数据帧: A B

假设我有两个数据帧X和Y:

import pandas as pd
X = pd.DataFrame({'A':[1,4,7],'B':[2,5,8],'C':[3,6,9]})
Y = pd.DataFrame({'D':[1],'E':[11]})


In [4]: X
Out[4]:
   A  B  C
0  1  2  3
1  4  5  6
2  7  8  9
In [6]: Y
Out[6]:
   D   E
0  1  11
然后,我想得到以下结果数据帧:

  A B C D E
0 1 2 3 1 11
1 4 5 6 1 11
2 7 8 9 1 11
如何执行?

假设Y只包含一行:

In [9]: X.assign(**Y.to_dict('r')[0])
Out[9]:
   A  B  C  D   E
0  1  2  3  1  11
1  4  5  6  1  11
2  7  8  9  1  11
或者是一个更好的选择:

助手命令:

In [10]: Y.to_dict('r')[0]
Out[10]: {'D': 1, 'E': 11}
这是另一种方法

Y2=pd.concat[Y]*3,ignore\u index=True这将复制行

产生:

    D   E
0   1   11
0   1   11
0   1   11
然后,康卡特再次:

pd.concat([X,Y2], axis =1)



    A   B   C   D   E
0   1   2   3   1   11
1   4   5   6   1   11
2   7   8   9   1   11

回答得真好!它确实有用!但是你能解释清楚一点吗?我不明白这是怎么发生的。非常感谢。“**”是什么?较短的X.assign**Y.loc[0]@MaxU它与您的概念相同。意思是我在用**打开字典。然而,我使用Y.loc[0]`来获取Y的第一行,我相信pandas在字典上下文中使用时会适当地解包一个系列。。。。确实如此。
pd.concat([X,Y2], axis =1)



    A   B   C   D   E
0   1   2   3   1   11
1   4   5   6   1   11
2   7   8   9   1   11