首页 > 解决方案 > Python - 合并两个有条件的数据框

问题描述

df1 和 df2 图像

df1 = 左侧的数据帧,df2 = 右侧的数据帧。

如果df1 ['Country_Name'] == df2 ['country'],我想将df2中的iso_alpha和iso_num附加到df 1。

结果应如下所示。

Country | Year | Month | guest_1 | iso_alpha |iso_num
The Netherlands | 2012 | Jan | 735 | NLD |528

Df2 图像

我尝试使用下面的代码,但它收到错误消息。

new_df = sub.loc[sub['Country_Name'] == df1['country'], df1[:,-2]]

error = ValueError:只能比较标签相同的系列对象

您能否建议如何解决此问题。

标签: pythonpandasdataframemergeconditional-statements

解决方案


您要做的是合并 DataFrame。

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
         left_index=False, right_index=False, sort=True,
         suffixes=('_x', '_y'), copy=True, indicator=False,
         validate=None)

https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html


推荐阅读