pandas 将两个相同表头的表合并并保留行列标题

对于两个表头相同的数据,其合并方法如下,通过pd.merge函数对指定的表头变量进行连接,此外该方法可通过控制left_indexh和right_index参数决定是否保留列标题(或index)。更详细的比较有待后续更新。。。

#%%
import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A1'],
                    'B': ['B0', 'B1', 'B2']},
                   index=['K0']*1+['K5']*2)
df2 = pd.DataFrame({'A': ['C1', 'C2', 'C3'],
                    'B': ['D0', 'D1', 'D2']},
                   index=['K1']*1+['K2']*2)

df3 = df2.merge(df1,on=['A','B'],left_index=True,right_index=True, how='outer')
'''
on 指定需要连接的表头变量
left_indexh和right_index参数分别决定是否对df1和df2的index进行连接
how='outer' 仅在列方向合并,不增加行(表头变量)的个数
'''
print('df1=\n',df1,'\n')
print('df2=\n',df2,'\n')
print('df3=\n',df3,'\n')

>>>
df1=
      A   B
K0  A0  B0
K5  A1  B1
K5  A1  B2 
df2=
      A   B
K1  C1  D0
K2  C2  D1
K2  C3  D2 
df3=
      A   B
K0  A0  B0
K1  C1  D0
K2  C2  D1
K2  C3  D2
K5  A1  B1
K5  A1  B2 

补充一下,貌似合并后会自动按照每行的index按照字典顺序进行排序,sort选项失效。在使用的时候需要注意行的先后顺序是否发生变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txh3093

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值