如何在python中引用表?

如何在python中引用表?,python,pandas,Python,Pandas,我有两张桌子: 关系['entry1'、'entry2'、'Relationship'] 条目['id'、'name'、'code'] 我需要使用entries表作为“词汇表”(entry1和entry2是id),这样我就可以引用关系中的条目,同时获得保存关系的条目名称 我的目标是拥有这样一张桌子: merge1=pd.merge(left=entries, right=relation, left_on='id', right_on='entry1') merge2=pd.merge(left

我有两张桌子:

  • 关系['entry1'、'entry2'、'Relationship']

  • 条目['id'、'name'、'code']

  • 我需要使用entries表作为“词汇表”(entry1和entry2是id),这样我就可以引用关系中的条目,同时获得保存关系的条目名称

    我的目标是拥有这样一张桌子:

    merge1=pd.merge(left=entries, right=relation, left_on='id', right_on='entry1')
    merge2=pd.merge(left=entries, right=relation, left_on='id', right_on='entry2')
    merge=pd.merge(left=merge1, right=merge2, left_on='entry1', right_on='entry1')
    
    最后的['name1','name2','relationship']

    我尝试像这样合并表:

    merge1=pd.merge(left=entries, right=relation, left_on='id', right_on='entry1')
    merge2=pd.merge(left=entries, right=relation, left_on='id', right_on='entry2')
    merge=pd.merge(left=merge1, right=merge2, left_on='entry1', right_on='entry1')
    

    但它不起作用

    您可以使用两个
    合并
    调用来实现

    # Merge using entries & relations on entry1 
    merge = pd.merge(left=entries, right=relations, left_on='id', right_on='entry1')
    # Removed the unused column 'entry1'
    merge = merge[[col for col in merge.columns if col != 'entry1']]
    # Merge using entries & merge on entry2
    merge = pd.merge(left=entries, right=merge, left_on='id', right_on='entry2')
    # Removed the unused column 'entry2'
    merge = merge[[col for col in merge.columns if col != 'entry2']]
    print('Merged table')
    print(merge)
    
    输出将如下所示

      id_x name_x  code_x id_y name_y  code_y relation
    0    a     e1       1    a     e1       1       r1
    1    b     e2       2    b     e2       2       r2
    2    c     e3       3    c     e3       3       r3
    
    希望这有帮助

    merge = pd.merge(left=relations, right=entries, left_on='entry1', right_on='id')
    merge = pd.merge(left=merge, right=entries, left_on='entry2', right_on='id')
    

    这对我很有用

    什么是桌子?这是标记的熊猫,我们是不是要假设它们是熊猫数据帧?请提供答案,以及当前和预期结果。谢谢。合并的顺序应该不同。左=关系,右=实体。这使得我们能够保持关系