DataFrame的级联与合并操作


一、级联操作

1.1 匹配级联

  • pd.concat
  • pd.append

pandas使用pd.concat函数,与np.concatenate函数类似,只是多了一些参数:

  • objs
  • axis=0
  • keys
  • join=‘outer’ / ‘inner’: 表示的是级联的方式;
    outer会将所有的项进行级联(忽略匹配和不匹配),而inner只会将匹配的项级联到一起,不匹配的不级联
  • ignore_index=False
  • 导入包
import numpy as np
import pandas as pd
from pandas import DataFrame,Series
  • 创建数据
df1 = DataFrame(data=np.random.randint(0,100,size=(5,3)),columns=['A','B','C'])
df2 = DataFrame(data=np.random.randint(0,100,size=(5,3)),columns=['A','D','C'])
  • df1
    在这里插入图片描述
  • df2
    在这里插入图片描述
  • 匹配级联
pd.concat((df1,df1),axis=0)

在这里插入图片描述

pd.concat((df1,df1),axis=1)

在这里插入图片描述

1.2 不匹配级联

不匹配指的是级联的维度的索引不一致。例如纵向级联时列索引不一致,横向级联时行索引不一致
有2种连接方式,join参数:

  • 外连接:补NaN(默认模式)【如果想要保留数据的完整性必须使用outer(外连接)】
  • 内连接:只连接匹配的项
pd.concat((df1,df2),axis=0)

在这里插入图片描述

pd.concat((df1,df2),axis=0,join='inner')

在这里插入图片描述

pd.concat((df1,df2),axis=0,join='outer')

在这里插入图片描述

append函数的使用:

  • 只可以列和列级联
df1.append(df1)

在这里插入图片描述

df1.append(df2)

在这里插入图片描述


二、合并操作

  • merge与concat的区别在于:
    merge需要依据某一共同列来进行合并;级联是做拼接
  • 使用pd.merge()合并时,会自动根据两者相同column名称的那一列,作为key来进行合并。
  • 注意每一列元素的顺序不要求一致

2.1 一对一合并

df1 = DataFrame({
   'employee':['Bob','Jake','Lisa'],
                 'group':['Accounting','Engineering','Engineering'],
               })
df1         

在这里插入图片描述


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

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

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

打赏作者

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

抵扣说明:

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

余额充值