#python #string #datetime #matplotlib
#python #строка #datetime #matplotlib
Вопрос:
Я работаю над Python для анализа данных Уэса Маккинни. Я столкнулся с этим кодом ниже. spx
это ряд, состоящий из данных типа datetime.
from datetime import datetime
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
data = pd.read_csv('examples/spx.csv', index_col=0, parse_dates=True)
spx = data['SPX']
spx.plot(ax=ax,style='k-')
crisis_data = [
(datetime(2007,10,11),'Peek of bull market'),
(datetime(2008,3,12),"Bear Stearns Fails"),
(datetime(2008,9,15),"Lehman Bankruptcy")
]
for date, label in crisis_data:
ax.annotate(label,xy=(date,spx.asof(date) 75),xytext=(date,spx.asof(date) 225),arrowprops=dict(facecolor='black',headwidth=4,width=2,headlength=4), horizontalalignment='left',verticalalignment='top')
ax.set_xlim(['1/1/2007','1/1/2011'])
ax.set_ylim([600,1800])
ax.set_title('Important dates in the 2008-2009 financial crisis')
В качестве эксперимента я изменил объекты datetime crisis_data
на string like "2007-10-11"
. Я ожидал, что у меня какая-то ошибка. Но график успешно создан с правильными аннотациями. Я хотел бы знать, почему это возможно.