如何将日期索引转换为熊猫中的字符串列

时间:2020-11-10 00:43:58

标签: python pandas yfinance

我正在尝试合并从YFinance收集的数据制成的Excel表。我已经尝试过合并它们,但是显然您不能在索引上合并,这是我尝试过的:

import yfinance
import pandas as pd
Dates=pd.read_csv('r/Example.csv)
Dates.columns = ['Start','End']
Stock = yfinance.Ticker('MSFT')
StockData = Stock.history(period='max')
Dates.merge(StockData, left_on='Start', right_on='Date')

它抛出了这个错误:

ValueError: You are trying to merge on object and datetime64[ns] columns. If you wish to proceed you should use pd.concat

我尝试了pd.concat,但这不是我所需要的,我需要将CSV中的日期与yfinance上的日期链接起来。 yFinance自动将其history数据帧的索引设置为“日期”索引,我需要将此索引设置为一列或至少一个字符串,我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

您在这里有几个选择:

  1. 要使索引成为一列,可以使用StockData.reset_index()
  2. 您可以使用Dates.merge(StockData, left_on='Start', right_index=True)合并索引 pandas documentation

您将需要它们具有相同的数据类型。为此,最好使用DatesDates['Start'] = pd.to_datetime(Dates['Start'])中的日期转换为datetime。