TypeError:ufunc subtract不能使用类型为dtype('<m8 [ns]')和=“”dtype('float64')=“”

时间:2017-11-19 16:19:33

标签: python finance

=“”我按照sentdex的视频教程遇到了错误代码。但是,当我想在ax2上为我的Volume绘制条形图时,它会给出我在主题中列出的错误代码。请帮忙。我是Python 0编程经验的新手。

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
style.use('ggplot')

df = pd.read_csv('C:\\Users\\ngjun95\\Downloads\\7120.KL.csv',     parse_dates=True, index_col=0)
df['100ma'] = df['Adj Close'].rolling(window=100, min_periods=0).mean()

print(df.head())

ax1 = plt.subplot2grid((6,1), (0,0), rowspan=5, colspan=1)
ax2 = plt.subplot2grid((6,1), (5,0), rowspan=1, colspan=1, sharex=ax1)

ax1.plot(df.index, df['Adj Close'])
ax1.plot(df.index, df['100ma'])
ax2.bar(df.index, df['Volume'])

plt.show()

2 个答案:

答案 0 :(得分:2)

似乎是Matplotlib和Numpy之间的日期转换问题。 https://github.com/matplotlib/matplotlib/issues/9610

我的问题时间最长。

df.index.to_pydatetime()适合我。

答案 1 :(得分:0)

老话题,但 df.index.to_pydatetime() 没有解决我的 seaborn.regplot() 问题。对我来说,date2num 效果很好。

import matplotlib.dates as mdates

sns.regplot(x=mdates.date2num(df.index), y=df['target'])