我正在尝试合并从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
数据帧的索引设置为“日期”索引,我需要将此索引设置为一列或至少一个字符串,我不知道该怎么做。>
答案 0 :(得分:0)
您在这里有几个选择:
StockData.reset_index()
Dates.merge(StockData, left_on='Start', right_index=True)
合并索引
pandas documentation 您将需要它们具有相同的数据类型。为此,最好使用Dates
将Dates['Start'] = pd.to_datetime(Dates['Start'])
中的日期转换为datetime。