比较两个panda数据帧df1和df2中的两列A、B,并创建新的列到df1



我有两个不同大小的数据帧(df1和df2(。

df1

NUTS lvl2    Code
Greece       GR
Italy        IT
Germany      DE

和df2

Ports    Code    Year
Patras    GR     2010
Lefkada   GR     2010
Bergamo   IT     2010
Palermo   IT     2011

我试图弄清楚如何使用df2如下:

Ports    Code    Year    NUTS lvl2
Patras    GR     2010    Greece
Lefkada   GR     2010    Greece
Bergamo   IT     2010    Italy
Palermo   IT     2011    Italy

你能帮我弄清楚吗?我正在尝试使用";其中";和条件,但到目前为止我没有运气。内部连接同上。

df3 = df2.merge(df1, on='Code', how='left')

这与SQL中的左联接相同。您需要一个数据帧(在本例中为df2(的所有行,并且希望将Code列与其对应的列相匹配,该列与df1中的Code相关联。On是两个数据帧之间的公共列(必须是相同的列名(,之所以保留how,是因为您想要一个数据帧的所有行。无论您想保留其所有列的数据帧在语法中都是第一位的,例如df2.merge((。在这种情况下,内部联接会得到相同的结果,因为df2中的列Code有GR和IT,这两个都在df1中。内部联接采用了Layman术语中两列的共同点。

相关内容

最新更新