加入有条件的两个数据框

我尝试根据邮政编码合并两个数据框。但我只有一个国家的邮政编码,所以我想确定,其他国家的其他行在合并列中收到 NaN。


df 看起来像这样


client     age-group     category     city     zip     country

4       18-24           basic         atown    12345   fooland

5       18-24           basic         atown    12345   fooland

6       <18             basic         atown    12345   fooland

5       <18             premium       ctown    12345   belgium

2       <18             basic         atown    12345   fooland

7       <18             basic         atown    12345   fooland

另一个像这样:


zip     state     population     ...

11111    a        17800

11112    a        15045

12345    a        13215

12349    b        5401 

第二个 df 中的 Zip 是唯一的


有没有比使用 for 循环更快更简单的方法来合并它们df.iterrows()?


海绵宝宝撒
浏览 88回答 1
1回答

精慕HU

merge应该how='left'工作:df1.merge(df1[df1['country']=='fooland'].merge(df2,&nbsp;on='zip',&nbsp;how='left'),&nbsp;on=df1.columns.to_list(),&nbsp;how='left')df1您要用 s 填充的数据框在哪里NaN。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python