如何在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
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')
这对我很有用什么是桌子?这是标记的熊猫,我们是不是要假设它们是熊猫数据帧?请提供答案,以及当前和预期结果。谢谢。合并的顺序应该不同。左=关系,右=实体。这使得我们能够保持关系