2017-06-22 108 views
2

我有兩個excel,分別命名爲df1df2熊貓合併列另一列

df1.columns:url, content, ortheryy

df2.columns:url, content, othterxx

一些內容DF1是空的,並且DF1和DF2份額某些URL(不是全部)。 我想要做的是通過df2填充df1的空白內容,如果該行具有相同的網址。

我試圖

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循環解決,但我我想做的就是用熊貓的方式。

回答

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