【问题标题】:Pandas merge does not work熊猫合并不起作用
【发布时间】:2017-11-23 07:45:40
【问题描述】:

我有以下 2 个数据框,我希望将它们加入日期列。

当我尝试这样做时:

final_df = pd.merge(event_by_codes, stock_norm)

我得到没有要执行合并的通用列。 (日期为时间戳对象)

知道发生了什么吗?

【问题讨论】:

  • 您没有指定要加入哪些列或如何加入
  • 在合并中使用join 或指定left_indexright_index。另外,请不要发布图片(这就是我无法为您提供工作示例作为答案的原因)。

标签: python python-2.7 pandas scikit-learn


【解决方案1】:
  • Date 不是列...它是索引
  • merge 在列上合并...你想要 join 对索引进行操作
  • 确保您的索引实际上是 datetime 而不是字符串

stock_norm.index = pd.to_datetime(stock_norm.index)
event_by_codes.index = pd.to_datetime(event_by_codes.index)

stock_norm.join(event_by_codes)

【讨论】:

  • 谢谢,我先尝试加入,但所有值都为 NaN。问题是 stock_norm df 索引是一个字符串而不是时间戳(我在你写的时候注意到了)。
  • @kjanko 你会注意到我在我的要点中解决了这个问题,并通过重新分配索引本身来解决这个问题。您是否只是尝试了 join 而不重新分配索引?
猜你喜欢
  • 2015-02-01
  • 2022-01-09
  • 1970-01-01
  • 2017-12-29
  • 2015-12-24
  • 2019-04-21
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多