我尝试根据邮政编码合并两个数据框。但我只有一个国家的邮政编码,所以我想确定,其他国家的其他行在合并列中收到 NaN。df 看起来像这样client age-group category city zip country4 18-24 basic atown 12345 fooland5 18-24 basic atown 12345 fooland6 <18 basic atown 12345 fooland5 <18 premium ctown 12345 belgium2 <18 basic atown 12345 fooland7 <18 basic atown 12345 fooland另一个像这样:zip state population ...11111 a 1780011112 a 1504512345 a 1321512349 b 5401 第二个 df 中的 Zip 是唯一的有没有比使用 for 循环更快更简单的方法来合并它们df.iterrows()?
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
merge
应该how='left'
工作:
df1.merge(df1[df1['country']=='fooland'].merge(df2, on='zip', how='left'), on=df1.columns.to_list(), how='left')
df1
您要用 s 填充的数据框在哪里NaN
。
添加回答
举报
0/150
提交
取消