числа вместо даты в моем python графике - PullRequest
0 голосов
/ 06 августа 2020

Я попытался построить курс акций, но у меня возникла небольшая проблема: мои даты на моем графике неправильные.

import pandas as pd
from pandas_datareader import data
# Set the start and end date
start_date = '1990-01-01'
end_date = '2019-02-01'
# Set the ticker
ticker = 'AAPL'
# Get the data
data = data.get_data_yahoo(ticker, start_date, end_date)
data.head()
import matplotlib.pyplot as plt
data['Adj Close'].plot()
plt.show()

Вместо даты я получаю: 3960, et c.

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Попробуйте преобразовать строки даты

from datetime import datetime
start_date = datetime.strptime('1990-01-01','%Y-%m-%d')
end_date = datetime.strptime('2019-02-01', '%Y-%m-%d')
0 голосов
/ 06 августа 2020

Вы можете использовать matplotlib num2date для преобразования.

from matplotlib.dates import num2date

plt.plot(num2date(data['date']), data['Adj Close'])

plt.show()

Вам нужно будет передать num2date независимо от того, какой столбец содержит даты в это, я использовал 'dates' в качестве примера.

Фактически, простой вызов plot из matplotlib вместо pandas (потому что вы вызываете его из фрейма данных) может сделать фокус без num2date.

...