我有两个excel,名为df1
和df2
。
df1.columns:url, content, ortheryy
df2.columns:url, content, othterxx
df1中的某些内容为空,df1和df2共享一些网址(不是全部)。 我想要做的是用df2填充df1的空内容,如果该行有相同的url。
我试过
ndf = pd.merge(df1, df2[['url', 'content']], on='url', how='left')
# how='inner' result same
结果如何:
两栏:content_x和content_y
我知道它可以通过循环遍历df1和df2来解决,但我想做的是大熊猫的方式。
答案 0 :(得分:2)
我认为需要Series.combine_first
或Series.fillna
:
df1['content'] = df1['content'].combine_first(ndf['content_y'])
或者:
df1['content'] = df1['content'].fillna(ndf['content_y'])
它有效,因为left join
在ndf
中创建与df1
相同的索引值。