pandas通过另一列合并列

时间:2017-06-22 07:44:11

标签: python excel pandas

我有两个excel,名为df1df2

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

enter image description here

我知道它可以通过循环遍历df1和df2来解决,但我想做的是大熊猫的方式。

1 个答案:

答案 0 :(得分:2)

我认为需要Series.combine_firstSeries.fillna

df1['content'] = df1['content'].combine_first(ndf['content_y'])

或者:

df1['content'] = df1['content'].fillna(ndf['content_y'])

它有效,因为left joinndf中创建与df1相同的索引值。