Python: установить дни с даты в качестве индекса для графика - PullRequest
1 голос
/ 20 апреля 2020

У меня есть фрейм данных с датами в качестве индекса, и мне нужно построить график с индексом в качестве оси X. Проблема в том, что я не хочу, чтобы даты были индексом, а дни первого дня. Надеюсь, я был достаточно ясен. Это мой фрейм данных:

             Open    High    Low
Date            
2012-10-15  632.35  635.13  623.85
2012-10-16  635.37  650.30  631.00
2012-10-17  648.87  652.79  644.00
2012-10-18  639.59  642.06  630.00
2012-10-19  631.05  631.77  609.62
... ... ... ...
2013-01-08  529.21  531.89  521.25
2013-01-09  522.50  525.01  515.99
2013-01-10  528.55  528.72  515.52
2013-01-11  521.00  525.32  519.02
2013-01-14  502.68  507.50  498.51

Окончательный результат должен быть таким:

enter image description here

1 Ответ

1 голос
/ 20 апреля 2020

IIU C, мы можем взять мин и сделать простую сумму, используя np.timedelta, чтобы превратить DateTime в значение дней.

import numpy as np

df['days'] = (df.index - df.index.min()) / np.timedelta64(1,'D')

print(df)

              Open    High     Low  days
Date                                    
2012-10-15  632.35  635.13  623.85   0.0
2012-10-16  635.37  650.30  631.00   1.0
2012-10-17  648.87  652.79  644.00   2.0
2012-10-18  639.59  642.06  630.00   3.0
2012-10-19  631.05  631.77  609.62   4.0
2013-01-08  529.21  531.89  521.25  85.0
2013-01-09  522.50  525.01  515.99  86.0
2013-01-10  528.55  528.72  515.52  87.0
2013-01-11  521.00  525.32  519.02  88.0
2013-01-14  502.68  507.50  498.51  91.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...