Ключ вашего source.index
типа str
. Поскольку вы работаете с ценами на акции, т. Е. С данными временного ряда, то лучше всего превратить индекс в тип datetime
с параметром: parse_dates=True
:
>>> df = pd.read_csv('Walmart_FB_2014_2017.csv', index_col='Date', parse_dates=True)
>>> dff = df / df.iloc[0]
>>> dff.plot()
Кроме того, для простых графиков может работать только встроенная в Pandas визуализация способность.
![enter image description here](https://i.stack.imgur.com/UNzcx.png)
Проверьте разницу dtype
:
>>> source = pd.read_csv('Walmart_FB_2014_2017.csv', index_col='Date')
>>> source.index
Index(['2013-12-31', '2014-01-02', '2014-01-03', '2014-01-06', '2014-01-07',
...
'2017-04-03', '2017-04-04', '2017-04-05', '2017-04-06', '2017-04-07'],
dtype='object', name='Date', length=824)
>>> # Note the differences.
>>> df = pd.read_csv('Walmart_FB_2014_2017.csv', index_col='Date', parse_dates=True)
>>> df.index
DatetimeIndex(['2013-12-31', '2014-01-02', '2014-01-03', '2014-01-06',
...
'2017-04-04', '2017-04-05', '2017-04-06', '2017-04-07'],
dtype='datetime64[ns]', name='Date', length=824, freq=None)