美文网首页
pandas的多表merge的方法

pandas的多表merge的方法

作者: Panda_phc | 来源:发表于2021-02-17 10:52 被阅读0次

    由于merge函数是可以将两个表进行合并,如果多余两个表进行合并的话,可以使用merge嵌套的方法,当然也可以用reduce和merge组合的方法来实现。
    例如,以下代码:

    from functools import reduce
    import pandas as pd 
    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({'key': ['K0', 'K1', 'K2', 'K3'],
                            'E': ['E0', 'E1', 'E2', 'E3'],
                            'F': ['F0', 'F1', 'F2', 'F3']})
    dfs = [df1,df2,df3]
    
    df_final = reduce(lambda left,right: pd.merge(left,right,how='outer',on="key"), dfs)
    df_final
    

    reduce()函数是functools模块中的一个函数,其作用是对参数序列中元素进行累积,返回值是一个数值。

    # 关于reduce的使用
    from functools import reduce
    # 将列表里面整数累加
    list_p = [1,2,3]
    re = reduce(lambda x,y:x+y,list_p)
    print(re) 
    

    相关文章

      网友评论

          本文标题:pandas的多表merge的方法

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