TypeError:dtype'<class'datetime.date'>''无法理解;同时转换DataFrame的日期?

问题描述

我正在研究以下代码,从Yahoo Finance中获取数据并绘制数据以进行股票的技术分析。

import pandas as pd
import pandas_datareader.data as web
import datetime as dt
import matplotlib.pyplot as plt
import mpl_finance
from mpl_finance import candlestick_ohlc
import matplotlib.dates as mdates

ticker = 'MCD'
start = dt.date(2014,1,1)

#Gathering the data
data = web.DataReader(ticker,'yahoo',start)


#Calc moving average
data['MA10'] = data['Adj Close'].rolling(window=10).mean()
data['MA60'] = data['Adj Close'].rolling(window=60).mean()
data.reset_index(inplace=True)
data['Date']=mdates.date2num(data['Date'].astype(dt.date))

收到此错误

TypeError: dtype '<class 'datetime.date'>' not understood

解决方法

如果将日期列设置为“ datetime.Index”格式并将其设置为索引,则将显示图形。无需转换。尝试一下。要导入的库的设置已部分纠正。

import pandas as pd
import pandas_datareader.data as web
import datetime as dt
import matplotlib.pyplot as plt
import mplfinance as mpf
from mplfinance.original_flavor import candlestick_ohlc
import matplotlib.dates as mdates

ticker = 'MCD'
start = dt.date(2014,1,1)

#Gathering the data
data = web.DataReader(ticker,'yahoo',start)

#Calc moving average
data['MA10'] = data['Adj Close'].rolling(window=10).mean()
data['MA60'] = data['Adj Close'].rolling(window=60).mean()
data.reset_index(inplace=True)
# data['Date']=mdates.date2num(data['Date'].astype(dt.date))
data['Date'] = pd.to_datetime(data['Date'])
data.set_index('Date',inplace=True)

enter image description here