我嘗試根據郵政編碼合并兩個數據框。但我只有一個國家的郵政編碼,所以我想確定,其他國家的其他行在合并列中收到 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
提交
取消