web-dev-qa-db-fra.com

TypeError: la soustraction ufunc ne peut pas utiliser d'opérandes de types dtype ('<M8 [ns]') et dtype ('float64')

J'ai rencontré un code d'erreur en suivant le didacticiel vidéo de sentdex. Toutefois, lorsque je souhaite tracer un graphique à barres sur ax2 pour mon volume, il me donne le code d'erreur indiqué dans la rubrique. S'il vous plaît aider. Je suis nouveau dans Python 0 expérience en programmation.

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()
4
Ng Jun

Cela ressemble à un problème de conversion de date entre Matplotlib et Numpy . https://github.com/matplotlib/matplotlib/issues/9610

J'ai eu le même problème depuis très longtemps.

df.index.to_pydatetime () fonctionne pour moi.

1
Saeed