Python:如何将来自不同数据帧的同名列彼此相邻放置?

Python:如何将来自不同数据帧的同名列彼此相邻放置?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我想知道在Python中是否有一种方法可以将来自不同数据帧的列以相同的名称(或相关的名称)彼此相邻放置 我知道可以选择使用JOIN,但我想从头开始创建一个函数,实现同样的功能 示例: 让我们假设两个数据帧df1和df2 df1 id A B 50 1 5 60 2 6 70 3 7 80 4 8 id A_1 B_1 50 a b 60 c d 70 e f 80 g h df2 id A B 50 1 5 60 2 6 70 3

我想知道在Python中是否有一种方法可以将来自不同数据帧的列以相同的名称(或相关的名称)彼此相邻放置

我知道可以选择使用
JOIN
,但我想从头开始创建一个函数,实现同样的功能

示例:

让我们假设两个数据帧
df1
df2

df1

id A  B
50 1  5
60 2  6
70 3  7
80 4  8
id  A_1  B_1
50   a    b
60   c    d
70   e    f
80   g    h
df2

id A  B
50 1  5
60 2  6
70 3  7
80 4  8
id  A_1  B_1
50   a    b
60   c    d
70   e    f
80   g    h
预期输出:一个新的数据帧,比如说
df3
,如下所示

   id A  A_1  B  B_1
   50 1   a   5   b
   60 2   c   6   d
   70 3   e   7   f
   80 4   g   8   h

首先,加入两个数据帧-

df3 = df1.join(df2, how='inner')
然后你可以对索引进行排序-

df3 = df3.sort_index(axis=1)
您可以将
sorted()
与下列列名一起使用:

m=pd.concat([df1.set_index('id'),df2.set_index('id')],axis=1)
m[(sorted(m.columns))].reset_index()

   id  A A_1  B B_1
0  50  1   a  5   b
1  60  2   c  6   d
2  70  3   e  7   f
3  80  4   g  8   h

嘿,莫茨。谢谢你的回复。我知道可以使用连接,但我想知道是否可以从头创建一个函数来实现同样的功能。从零开始谢谢你?你能澄清一下吗?你是说根本不用熊猫图书馆吗?也许,你可以看看pandas的代码库,了解这些功能是如何实现的。是的,我也在考虑同样的问题。谢谢@Mortz,当我尝试你的方法时,我得到了以下错误
TypeError:'