Я, очевидно, совершаю очень простую ошибку, добавляя скользящий средний график к своей фигуре.
Базовый график цен закрытия работает нормально, но как только я добавляю скользящее среднее к графику, даты по оси X облажаются, и я не вижу, что он пытается сделать.
Вот код:
import pandas as pd
import matplotlib.pyplot as plot
df = pd.read_csv('historical_price_data.csv')
df['Date'] = pd.to_datetime(df.Date, infer_datetime_format=True)
df.sort_index(inplace=True)
ax = df[['Date', 'Close']].plot(figsize=(14, 7), x='Date', color='black')
rolling_mean = df.Close.rolling(window=7).mean()
plot.plot(rolling_mean, color='blue', label='Rolling Mean')
plot.show()
С этим примером набора данных Я получаю эту цифру:
![Rolling Mean plot - broken x-axis](https://i.stack.imgur.com/Mg7sI.png)
Учитывая эту простоту этого кода, я, очевидно, совершаю очень простую ошибку, я просто не могу понять, что это такое.
РЕДАКТИРОВАТЬ: Интересно, хотя предложение @ AndreyPortnoy установить индекс на Date приводит к странной ошибке, что Date отсутствует в индексе, когда я использую встроенные в его предложении, рисунок больше не полный беспорядок, но по какой-то причине ось x перевернута, и отметки больше не являются датами, а, по-видимому, целыми числами (?), хотя df.types показывает, что Date is datetime64 [нс]
![enter image description here](https://i.stack.imgur.com/YoKg9.png)
@ Sandipan \ Dey: Вот как выглядит набор данных. В приведенном выше коде я использую pd.to_datetime () для преобразования в datetime64, и попытался df [:: - 1], чтобы решить проблему, когда она обращена, когда 2-й график (mov_avg) добавляется к рисунку (но не перевернуто, когда фигура имеет только 1 участок.)
![csv columns](https://i.stack.imgur.com/6bmqu.png)