Pandas中的轴向堆叠数据—concat()方法

      concat()函数可以沿着一条轴将多个对象堆叠,其使用方式类似数据表合并,语法格式如下:

      Pandas.concat(objs,axis=0,join=“outer”,join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_itegrity=False,sort=None,copy=True)

上述函数中常用参数表示的含义如下:

  1. axis:表示连接的轴向,可以为0或1,默认为0。      //axis=0,竖直方向合并;axis=1,水平方向合并
  2. join:表示连接的方式,inner表示内连接,outer表示外连接,默认使用外连接。
          //内连接,得到索引的交集的数据;外连接,得到索引并集的数据
  3. ignore_index:接受布尔值,默认为False。如果设置为True,则表示清除现有索引并重置索引值。
  4. keys:接受序列,表示添加最外层索引。
  5. levels:用于构建MultiIndex的特定级别(唯一值)。
  6. names:在设置了keys和level 参数后,用于创建分层级别的名称。
  7. verify_integerity:检查新的连接轴是否包含重复项。接受布尔值,当设置为True时,如果有重复的轴将会抛出错误,默认为False。

一、横向堆叠与外连接
      当使用concat()函数合并时,若是将axis参数的值设为1,且 join 参数的值设为outer,则说明使用横向堆叠与外连接的方式进行合并。

Pandas中的轴向堆叠数据—concat()方法_第1张图片

import pandas as pd      #数据合并,join默认为outer外连接(拿并集),inner内连接(拿交集)
df1=pd.DataFrame({'A':['A0','A0','A1']
                 ,'B':['B0','B0','B1']})
df2=pd.DataFrame({'C':['C0','C0','C1','C3']
                 ,'D':['D0','D2','D2','D3']})

Pandas中的轴向堆叠数据—concat()方法_第2张图片

pd.concat([df1,df2],join='outer',axis=1)

二、纵向堆叠与内连接
      当使用concat()函数合并时,若是将axis参数的值设为0,且join参数的值设为inner,则表明使用纵向堆叠与内连接的方式进行合并。

Pandas中的轴向堆叠数据—concat()方法_第3张图片

import pandas as pd
df1=pd.DataFrame({'A':['A0','A1','A2']
                 ,'B':['B0','B1','B2']
                 ,'C':['C0','C1','C2']})
df2=pd.DataFrame({'B':['B3','B4','B5']
                 ,'C':['C3','C4','C5']
                 ,'D':['D3','D4','D5']})

df1

df2

Pandas中的轴向堆叠数据—concat()方法_第4张图片

pd.concat([df1,df2],join='inner',axis=0)   #纵向堆叠与内连接

ignore_index参数的用法:
Pandas中的轴向堆叠数据—concat()方法_第5张图片

df1

df2

pd.concat([df1,df2],ignore_index=True)    #清除现有的索引并重新分配索引值

作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star 呀,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习呀。

你可能感兴趣的:(数据分析中的pandas,python,数据分析,pandas)