将数据帧中存在值的行保留在另一个数据帧中



我有两个数据帧,df1和df2:

色//tr>色//tr>色//tr>色//tr>
交通 城市 颜色
汽车 巴黎
汽车 伦敦
自行车 巴黎
汽车 纽约

如果两者匹配,则需要合并,然后过滤掉空值:

df1 = df1.merge(right=df2.drop_duplicates(), on=['City','Color'], how='left')
df1.dropna(subset=['Transport'], inplace = True)

让我知道这是否适合你

您可以在删除重复项后尝试合并以避免笛卡尔乘积:

df_1.merge(df_2.drop_duplicates(),left_on=['City','Color'],right_on=['City','Color'])

输出:

Transport      City Color
0       Car     Paris   red
1      Bike     Paris   red
2       Car  New York  blue

最新更新