【问题标题】:I am trying to merge two datasets but the generated dataframe is empty?我正在尝试合并两个数据集,但生成的数据框为空?
【发布时间】:2021-10-07 16:27:06
【问题描述】:

我正在尝试按日期将我的新闻数据集与我的股价数据集合并。当我合并它们时,代码可以工作,但返回的数据框是空的。

这是我的代码:

ddata['Date'] = ddata['Date'].astype(str)
cdata['Date'] = cdata['Date'].astype(str)
mdata = pd.merge(ddata, cdata, on ='Date')

这是返回的内容:

我的新闻数据集示例:

我的 S&P 500 数据集样本:

感谢您的帮助:)

【问题讨论】:

  • 将两个日期转换为日期时间或相同格式然后合并
  • 我该怎么做?

标签: python pandas merge dataset


【解决方案1】:

您必须在日期时间中转换数据框的Date 列:

cdata['Date'] = pd.to_datetime(cdata['Date'])
ddata['Date'] = pd.to_datetime(ddata['Date'])

mdata = pd.merge(ddata, cdata, on ='Date')

我认为比较datetime64而不是object更好(只是我的个人意见)

【讨论】:

  • 嗨,当我尝试运行您的代码时,我收到错误 ValueError: You are trying to merge on object 和 datetime64[ns] 列。如果你想继续,你应该使用 pd.concat。有什么想法吗?
  • @user16561849。我更新了我的答案。可以试试吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 2020-07-05
相关资源
最近更新 更多