Python:将从日期算起的天数设置为绘图的索引
我有一个以日期为索引的数据框,我需要绘制一个以索引为x轴的图表。问题是,我不希望将日期作为索引,而是希望从第一天开始的日期。我希望我说得够清楚了。这是我的数据帧:Python:将从日期算起的天数设置为绘图的索引,python,pandas,matplotlib,indexing,Python,Pandas,Matplotlib,Indexing,我有一个以日期为索引的数据框,我需要绘制一个以索引为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 6
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
最终结果应该是这样的:
IIUC,我们可以取最小值并进行简单求和,同时使用
np.timedelta
将日期时间转换为天数值
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