我有 2 个表: 关系['entry1', 'entry2', '关系'] 条目['id', 'name', 'code'] 我需要将条目表用作“词汇表”(entry1 和 entry2 是 id),因此我可以从关系中引用条目以同时获取保存关系的条目名称。 我的目标是有一个这样的表: final['name1','name2', '关系'] 我试图像这样合并表格: 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 = 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') 这对我有用

merge您可以使用两个调用来做到这一点 # 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 希望这可以帮助

什么是表?这是标记为 Pandas,我们是否打算假设它们是 Pandas DataFrames?请提供一个最小的可重现示例,以及当前和预期的结果。

谢谢。合并应该以不同的顺序进行。左=关系,右=实体。这允许保持关系