【问题标题】:Python: Set days from a date as index for a plotPython:将日期的天数设置为绘图的索引
【发布时间】: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

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

【问题讨论】:

    标签: python pandas matplotlib indexing


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 2016-10-03
      • 1970-01-01
      • 2020-07-23
      相关资源
      最近更新 更多