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

Pandas如何对DataFrame的DateTimeIndex与另一DataFrame的日期列执行内合并

正确实现方案

你的错误是合并时未指定正确的连接规则:scaled_data的日期存储在普通列date中,而returns的日期是索引,默认合并规则会按两个表的整数索引匹配,同时你可能误用了外连接,才会出现大量空值行。

按以下步骤操作即可得到正确结果:

  1. 先统一两个表的日期格式,避免字符串和DateTimeIndex类型不匹配导致的连接失效
  2. 调用merge方法明确指定连接键和连接方式

对应代码:

import pandas as pd

# 统一日期类型
scaled_data['date'] = pd.to_datetime(scaled_data['date'])

# 执行内连接
merged_df = pd.merge(
    left=scaled_data,
    right=returns[['AN8068571086']],
    left_on='date',
    right_index=True,
    how='inner'
)

参数说明

  • left_on='date':指定左表scaled_data用date列作为连接匹配的键
  • right_index=True:指定右表returns用自身的DateTimeIndex索引作为连接匹配的键
  • how='inner':仅保留两边匹配成功的行,最终输出的行数和原始scaled_data一致为1037行,不会出现空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:45:00