熊猫dataframe的合并实现(添加、合并、concat)

  

创建2个DataFrame:

        在在在df1=pd.DataFrame (np。的((4,4))* 1,列=列表(“DCBA”),指数=列表(“4321”))   在在在df2=pd.DataFrame (np。的((4,4))* 2=列列表(“FEDC”),指数=列表(“6543”))   在在在df3=pd.DataFrame (np。的((4,4))* 3=列列表(“FEBA”),指数=列表(“6521”))   在在在df1   D C B   4 1.0 1.0 1.0 1.0   3 1.0 1.0 1.0 1.0   2 1.0 - 1.0 1.0 - 1.0   1 1.0 1.0 1.0 1.0   在在在df2   F E D C   6 2.0 2.0 2.0 2.0   5 2.0 2.0 2.0 2.0   4 2.0 2.0 2.0 2.0   3 2.0 2.0 2.0 2.0   在在在df3   F E B   6 3.0 3.0 3.0 3.0   5 3.0 3.0 3.0 3.0   2 3.0 - 3.0 3.0 - 3.0   1 3.0 3.0 3.0 3.0      之前      


  

        pd。concat (obj,轴=0,加入=狻?join_axes=None, ignore_index=False,   键=,=没有水平,名字=None, verify_integrity=False,   复制=True)      

,示例:

        在在在pd。concat ([df1 df2])   B E C D F   4 1.0 1.0 1.0 1.0南南   3 1.0 1.0 1.0 1.0南南   2 1.0 1.0 1.0 1.0南南   1 1.0 1.0 1.0 1.0南南   6南南2.0 2.0 2.0 2.0   5南南2.0 2.0 2.0 2.0   4南南2.0 2.0 2.0 2.0   3南南2.0 2.0 2.0 2.0   之前      

<强> 1.1,轴
  

  

默认值:轴=0
  轴=0:竖方向(索引)合并,合并方向指数作列表相加,非合并方向列取并集
  轴=1:横方向(列)合并,合并方向列作列表相加,非合并方向指数取并集
  轴=0:

        在在在pd。concat ([df1, df2],轴=0)   B E C D F   4 1.0 1.0 1.0 1.0南南   3 1.0 1.0 1.0 1.0南南   2 1.0 1.0 1.0 1.0南南   1 1.0 1.0 1.0 1.0南南   6南南2.0 2.0 2.0 2.0   5南南2.0 2.0 2.0 2.0   4南南2.0 2.0 2.0 2.0   3南南2.0 2.0 2.0 2.0   之前      

轴=1:

        在在在pd。concat ([df1, df2],轴=1)   D C B一个F E D C   1 1.0 1.0 1.0 1.0南南南南   2 1.0 1.0 1.0 1.0南南南南   3 1.0 1.0 1.0 - 1.0 2.0 - 2.0 2.0 - 2.0   4 1.0 1.0 1.0 - 1.0 2.0 - 2.0 2.0 - 2.0   5南南南南2.0 2.0 2.0 2.0   6南南南南2.0 2.0 2.0 2.0   之前      

备注:原df中,取并集的行/列名称不能有重复项,即轴=0时列不能有重复项,轴=1时指数不能有重复项:

        在在在df1。列=列表(“DDBA”)   在在在pd。concat ([df1, df2],轴=0)   ValueError:计划形状不一致   之前      

<强> 1.2,加入
  

  

默认值:加入=狻?br/>   非合并方向的行/列名称:取交集(内部),取并集(外层)。
  轴=0时加入=澳谛摹?列取交集:

        在在在pd。concat ([df1, df2],轴=0,加入=澳谠凇?   D C   4 1.0 - 1.0   3 1.0 - 1.0   2 1.0 - 1.0   1)1.0 - 1.0   6 2.0 - 2.0   5 2.0 - 2.0   4 2.0 - 2.0   3 2.0 - 2.0   之前      

轴=1时加入=澳谛摹?指数取交集:

        在在在pd。concat ([df1, df2],轴=1,加入=澳谠凇?   D C B一个F E D C   4 1.0 1.0 1.0 - 1.0 2.0 - 2.0 2.0 - 2.0   3 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0      

<强> 1.3,join_axes
  

  

默认值:join_axes=None,取并集
  合并后,可以设置非合并方向的行/列名称,使用某个df的行/列名称
  轴=0时join_axes=[df1.columns],合并使后列用df1的:

        在在在pd。concat ([df1, df2],轴=0,join_axes=[df1.columns])   D C B   4 1.0 1.0 1.0 1.0   3 1.0 1.0 1.0 1.0   2 1.0 - 1.0 1.0 - 1.0   1 1.0 1.0 1.0 1.0   6 2.0 - 2.0南南   5 2.0 - 2.0南南   4 2.0 - 2.0南南   3 2.0 - 2.0南南   之前      

轴=1时轴=[df1.index],合并后指数使用df2的:

        pd。concat ([df1, df2],轴=1,join_axes=[df1.index])   D C B一个F E D C   4 1.0 1.0 1.0 - 1.0 2.0 - 2.0 2.0 - 2.0   3 1.0 1.0 1.0 - 1.0 2.0 - 2.0 2.0 - 2.0   2 1.0 1.0 1.0 1.0南南南南   1 1.0 1.0 1.0 1.0南南南南   之前      

同时设置加入和join_axes的,以join_axes为准:

        在在在pd。concat ([df1, df2],轴=0,加入=澳谛摹?join_axes=[df1.columns])   D C B   4 1.0 1.0 1.0 1.0   3 1.0 1.0 1.0 1.0   2 1.0 - 1.0 1.0 - 1.0   1 1.0 1.0 1.0 1.0   6 2.0 - 2.0南南   5 2.0 - 2.0南南   4 2.0 - 2.0南南   3 2.0 - 2.0南南   

熊猫dataframe的合并实现(添加、合并、concat)