美文网首页Py100Skills
[Py016] pandas concat 表格合并2

[Py016] pandas concat 表格合并2

作者: 安哥生个信 | 来源:发表于2018-10-31 12:36 被阅读43次
    pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
              keys=None, levels=None, names=None, verify_integrity=False,
              copy=True)
    

    concat可以一次合并多个表格,通过索引来合并的;

    不像merge,可以通过on参数指定依据哪个列。

    df1
    Out[365]: 
        A   B   C   D
    0  A0  B0  C0  D0
    1  A1  B1  C1  D1
    2  A2  B2  C2  D2
    3  A3  B3  C3  D3
    df2
    Out[366]: 
        A   B   C   D
    1  A1  B4  C4  D4
    2  A4  B5  C5  D5
    3  A2  B6  C6  D6
    4  A7  B7  C7  D7
    df3
    Out[367]: 
         A    B    C    D
    8   A0   B8   C8   D8
    9   A2   B9   C9   D9
    10  A4  B10  C10  D10
    11  A8  B11  C11  D11
    pd.concat([df1,df2,df3],axis=1)  # 注意一下合并前后各个dataframe的index
    Out[369]: 
          A    B    C    D    A    B    C    D    A    B    C    D
    0    A0   B0   C0   D0  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
    1    A1   B1   C1   D1   A1   B4   C4   D4  NaN  NaN  NaN  NaN
    2    A2   B2   C2   D2   A4   B5   C5   D5  NaN  NaN  NaN  NaN
    3    A3   B3   C3   D3   A2   B6   C6   D6  NaN  NaN  NaN  NaN
    4   NaN  NaN  NaN  NaN   A7   B7   C7   D7  NaN  NaN  NaN  NaN
    8   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A0   B8   C8   D8
    9   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A2   B9   C9   D9
    10  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A4  B10  C10  D10
    11  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A8  B11  C11  D11
    

    如果希望让三个dataframe都依据A列来合并的话,可以先对dataframe重建索引

    pd.concat([df1.set_index('A'),df2.set_index('A'),df3.set_index('A')],axis=1,sort=False)
    Out[371]: 
          B    C    D    B    C    D    B    C    D
    A0   B0   C0   D0  NaN  NaN  NaN   B8   C8   D8
    A1   B1   C1   D1   B4   C4   D4  NaN  NaN  NaN
    A2   B2   C2   D2   B6   C6   D6   B9   C9   D9
    A3   B3   C3   D3  NaN  NaN  NaN  NaN  NaN  NaN
    A4  NaN  NaN  NaN   B5   C5   D5  B10  C10  D10
    A7  NaN  NaN  NaN   B7   C7   D7  NaN  NaN  NaN
    A8  NaN  NaN  NaN  NaN  NaN  NaN  B11  C11  D11
    

    相关文章

      网友评论

        本文标题:[Py016] pandas concat 表格合并2

        本文链接:https://www.haomeiwen.com/subject/ilfatqtx.html