【python数据分析(12)】Pandas实现对Excel列表数据整合(merge纵向合并、concat横向连接)

1. 背景

在进行表格操作的时候,经常需要将两个excel表格数据进行横向合并,或者对原有的数据进行纵向扩充,这时候,就可以使用Pandas里面的 merge
纵向合并和 concat 横向连接功能了,如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226190046503.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x5c184Mjg=,size_16,color_FFFFFF,t_70)

2. 纵向合并

pd.merge (left, right, how=‘inner’, on=None, left_on=None,
right_on=None,left_index=False, right_index=False, sort=True,
suffixes=(’_x’, ‘_y’), copy=True)

left :第一个df
right :第二个df
on :参考键(left_on左边df的参考键、right_on右边df的参考键)
left_index、right_index :左右的参考索引
how :合并方式
sort :排序参数
suffixes=('_x', '_y') 相同列标题时,主动添加后缀部分

样本数据生成:

    df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                         'A': ['A0', 'A1', 'A2', 'A3'],
                         'B': ['B0', 'B1', 'B2', 'B3']})
    df2 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                          'C': ['C0', 'C1', 'C2', 'C3'],
                          'D': ['D0', 'D1', 'D2', 'D3']})
    df3 = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
                        'key2': ['K0', 'K1', 'K0', 'K1'],
                        'A': ['A0', 'A1', 'A2', 'A3'],
                        'B': ['B0', 'B1', 'B2', 'B3']})
    df4 = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
                        'key2': ['K0', 'K0', 'K0', 'K0'],
                        'C': ['C0', 'C1', 'C2', 'C3'],
                        'D': ['D0', 'D1', 'D2', 'D3']})
2.1 按照相同的列标题进行数据合并
    print(df1)
    print(df2)
    print(pd.merge(df1, df2, on='key'))

–> 输出的结果为:(最后的输出结果是按住key字段数据进行纵向合并)

      key   A   B
    0  K0  A0
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值