pandas合并列另一列
我有两个excel,命名为df1
和df2
。
df1.columns: url, content, ortheryy
df2.columns: url, content, othterxx
df1中的一些内容是空的,df1和df2共享一些url(不是全部)。 我想要做的是填充df1的空白内容由df2,如果该行具有相同的url。
我试过了
ndf = pd.merge(df1, df2[['url', 'content']], on='url', how='left') # how='inner' result same
结果是:
两列:content_x和content_y
我知道它可以通过循环通过df1和df2来解决,但我想要做的是以pandas的方式。
我认为需要Series.combine_first
或Series.fillna
:
df1['content'] = df1['content'].combine_first(ndf['content_y'])
要么:
df1['content'] = df1['content'].fillna(ndf['content_y'])
它的工作原理,因为left join
创buildndf
相同的索引值作为df1
。