Python:将日期的天数设置为绘图的索引

Posted

技术标签:

【中文标题】Python:将日期的天数设置为绘图的索引【英文标题】:Python: Set days from a date as index for a plot 【发布时间】:2020-08-02 22:00:54 【问题描述】:

我有一个以日期为索引的数据框,我需要绘制一个以索引为 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

最终的结果应该是这样的:

【问题讨论】:

【参考方案1】:

IIUC,我们可以取最小值并进行简单的求和,同时使用 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

【讨论】:

以上是关于Python:将日期的天数设置为绘图的索引的主要内容,如果未能解决你的问题,请参考以下文章

使用 kibana 或 Elasticsearch 本身将保留天数设置为 Elasticsearch 索引

python算两个时间之间的天数,将天数转成int型

python - 将天数转换成日期

如何在日期字段 SQL Server 中仅设置天数

excel计算当月天数的公式,是怎么弄的?

Python实现日期格式化与日期的天数运算