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

Python 如何将日期索引转换为熊猫中的字符串列,python,pandas,yfinance,Python,Pandas,Yfinance,我正在尝试合并一个Excel表格,该表格是我用从YFinance收集的数据制作的。我已经尝试过合并它们,但显然无法在索引上合并,以下是我尝试的: 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') Dat

我正在尝试合并一个Excel表格,该表格是我用从
YFinance
收集的数据制作的。我已经尝试过合并它们,但显然无法在索引上合并,以下是我尝试的:

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
自动将其
历史记录的索引设置为“日期”索引,我需要将此索引设置为一列或至少一个字符串,我不知道如何执行此操作。

您在此处有几个选项:

  • 要使索引成为列,可以使用
    StockData.reset\u index()
  • 您可以使用
    Dates.merge在索引上进行合并(StockData,left\u on='Start',right\u index=True)

  • 您需要它们是相同的数据类型。为此,最好使用
    dates['Start']=pd将
    dates
    中的日期转换为datetime。转换为datetime(dates['Start'])
    这里有几个选项:

  • 要使索引成为列,可以使用
    StockData.reset\u index()
  • 您可以使用
    Dates.merge在索引上进行合并(StockData,left\u on='Start',right\u index=True)
  • 您需要它们是相同的数据类型。为此,最好使用
    dates['Start']=pd.to_datetime(dates['Start'])将
    dates
    中的日期转换为datetime