Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 如何连接2个数据帧,保持具有相同索引的行_Python_Pandas_Dataframe_Merge_Concatenation - Fatal编程技术网

Python 如何连接2个数据帧,保持具有相同索引的行

Python 如何连接2个数据帧,保持具有相同索引的行,python,pandas,dataframe,merge,concatenation,Python,Pandas,Dataframe,Merge,Concatenation,我有两个数据帧,我想保持df1列的顺序: df1: index unnamed:0 unnamed:1 unnamed:393 unnamed:395 0 nan 1 ... 394 396 1 0 BB CC DD df2: index Service 220 ABC

我有两个数据帧,我想保持df1列的顺序:

df1:
index   unnamed:0   unnamed:1      unnamed:393    unnamed:395
 0       nan           1       ...     394           396 
 1       0            BB               CC            DD


df2:

    index     Service
     220      ABC
     222      ABB
     394      CC
     396      DD
     ....

the output should be like:
df3:

     index 
       0      394    396  
       1      394    396
       2      CC     DD
       3      CC     DD
如果我简单地将df3=pd.concat([df1,df2])作为一个整体添加到df1列表的末尾 使用
df3=pd.concat([df1,df2],axis=1,ignore_index=True)时几乎相同
我认为多重索引有一些问题,但不知道键入什么。
谢谢

您可以使用
df1.join(df2)

这会产生如下结果:

文档是。

有关pandas中各种合并操作的更多信息,您还可以查看。

这两个数据帧完全不同
concat
是一个旨在添加类似/相同格式数据帧的操作。你到底想要实现什么?您希望有哪些列,以及两个数据帧之间的连接是什么?@Aryerez希望将所有匹配项添加到每列中,但ti应在一列中找到每行的匹配项,并将它们合并在一起(所有匹配项)。彼此不在一起你问什么我不太清楚,对不起。你能用我在图片中提供的数据帧作为例子来解释吗?我在上面贴了一张图片。也许这有帮助我不确定你是否可以用pandas的函数来实现这一点,但你可以尝试使用提供的不同参数。也许有一个函数像lambda或stack,将两列作为一列,然后concat?