我嘗試根據(jù)郵政編碼合并兩個(gè)數(shù)據(jù)框。但我只有一個(gè)國(guó)家的郵政編碼,所以我想確定,其他國(guó)家的其他行在合并列中收到 NaN。df 看起來(lái)像這樣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另一個(gè)像這樣:zip state population ...11111 a 1780011112 a 1504512345 a 1321512349 b 5401 第二個(gè) df 中的 Zip 是唯一的有沒(méi)有比使用 for 循環(huán)更快更簡(jiǎn)單的方法來(lái)合并它們df.iterrows()?
1 回答

精慕HU
TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
merge
應(yīng)該how='left'
工作:
df1.merge(df1[df1['country']=='fooland'].merge(df2, on='zip', how='left'), on=df1.columns.to_list(), how='left')
df1
您要用 s 填充的數(shù)據(jù)框在哪里NaN
。
添加回答
舉報(bào)
0/150
提交
取消