如何计算熊猫时间序列中天数的差异并进行可视化?

问题描述

我具有从2019年1月到2020年7月的财务数据。我想选择一个日期(假设是2020年3月16日)作为日期0,并在+ -30天窗口中计算天数并将其可视化。

x轴的天数应介于-30到+30之间。最后,画出0天的值的水平线,如附图中的那条:

enter image description here

解决方法

  1. 要从字符串创建Timestamp,可以使用pandas.Timestamp
  2. 如果要几天从Timestamp减去或加数,请使用pandas.DateOffset
  3. 如果要在Python中绘制内容,可以使用matplotlib.pyplot。如果您使用plot函数。
  4. 要将x刻度标签从时间戳更改为-30..30,请使用pyplot.xticks
  5. 要绘制垂直线-pyplot.vlines

简单的例子:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

x0 = pd.Timestamp('2020-03-16')
x = pd.date_range(x0 - pd.DateOffset(30),x0 + pd.DateOffset(30),freq='D')

y = np.linspace(1,10,len(x))

plt.plot(x,y)
plt.xticks(x[[0,15,30,45,60]],labels=[-30,-15,30])
plt.show()

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...