You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas如何按索引合并两个DataFrame并保留左表全部日期记录

问题原因

你使用pd.merge()时没有指定连接方式,该函数默认使用inner(内连接),只会保留两个DataFrame索引同时存在的行,因此合并后总日期数量会减少。

正确实现方式

有两种常用实现方案,均可以保留Result_data的全部日期,pneumonia_ARVI中无匹配日期的对应字段会自动填充为空值:

方案1:修改merge参数指定左连接

不需要提前设置索引,直接指定匹配字段date,连接方式设为left即可:

End = pd.merge(Result_data, pneumonia_ARVI, on='date', how='left')

如果你已经提前将两个表的索引设置为date,也可以用以下写法:

Result_data = Result_data.set_index('date')
pneumonia_ARVI = pneumonia_ARVI.set_index('date')
End = pd.merge(Result_data, pneumonia_ARVI, left_index=True, right_index=True, how='left')

方案2:使用join方法(更适配该场景)

pandas的join方法默认使用左连接,更适合以左表为基准合并的场景:

End = Result_data.join(pneumonia_ARVI.set_index('date'), on='date')

内容的提问来源于stack exchange,提问作者kostya ivanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:03