为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 中跨数据框进行匹配?

如何在 Python 中跨数据框进行匹配?

慕姐8265434 2023-02-22 15:07:30
我有 2 个数据框,一个是包含许多列的自由贸易协定数据集,列 c1 到 c91 表示特定自由贸易协定的不同国家部分,如下所示: FTA 数据FTA数据例如No   Base_treaty   entry_type               c1          c2            c31     1            treaty             Afghanistan     India           NA2     2            treaty                Algeria      Egypt          Ghana3     3            treaty                Algeria      Angola         Benin4     4            treaty                Egypt        Jordan         Morocco5     5            treaty                Albania      Bulgaria         NA6     6            treaty                Albania      Croatia          NA另一个数据框包含两个特定国家 i 和 j 之间的贸易数据。贸易数据   inventor_ctry_i   authority_ctry_j           1    Albania            Bulgaria         2    Albania            Croatia          3    Algeria             Angola        4    Algeria            Belgium         5    Algeria            France          6    Andorra            Turkey          7    Andorra          United States   8    Anguilla           Germany         9    Anguilla         Switzerland     10    Anguilla        United States期望的输出:No   Base_treaty   entry_type         matched ctry1   matched ctry2        3     3            treaty                Algeria      Angola          5     5            treaty                Albania      Bulgaria          6     6            treaty                Albania      Croatia      我希望能够在贸易数据中找到国家 i 和 j,它们出现在 FTA 数据的 c1 到 c91 之间的同一行中。如果两者都出现在特定行中,则从 FTA 中的行中提取这 2 个国家,保持编号、基本条约和条目类型列不变。任何帮助将不胜感激!
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

连接与您在上面看到的合并技术有点不同。通过合并,您可以期望生成的数据集将来自父数据集的行混合在一起,通常基于某些共性。根据合并的类型,您可能还会丢失在其他数据集中没有匹配项的行。

通过串联,您的数据集只是沿着一个轴(行轴或列轴)拼接在一起。在视觉上,沿行没有参数的串联看起来像这样:

concatenated = pandas.concat([df1, df2], axis=1)

请参考此链接以获得更多代码的理解和清除。


查看完整回答
反对 回复 2023-02-22
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信