我有两个 Excel,名为 df1
和 df2
。
df1.columns:url、内容、ortheryy
df2.columns:url、内容、otherxx
df1中有些内容是空的,并且df1和df2共享一些url(不是全部)。 我想要做的是如果该行具有相同的 url,则用 df2 填充 df1 的空内容。
我试过了
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
在ndf
中创建与df1
相同的索引值。
关于python - pandas 将列与另一列合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44693222/